Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

document workflow to incrementally create a Kedro project #4305

Merged
merged 10 commits into from
Nov 19, 2024

Conversation

noklam
Copy link
Contributor

@noklam noklam commented Nov 7, 2024

Description

Close #2512

Development notes

Review note:
I am not sure yet where to put this documentation. Although this looks like a "How-to" documentation, I think this guides serve the purpose of explaining "Why" rather than try to guide people to create a project like this. We don't have any documentation like this yet, maybe we need a new section?

Developer Certificate of Origin

We need all contributions to comply with the Developer Certificate of Origin (DCO). All commits must be signed off by including a Signed-off-by line in the commit message. See our wiki for guidance.

If your PR is blocked due to unsigned commits, then you must follow the instructions under "Rebase the branch" on the GitHub Checks page for your PR. This will retroactively add the sign-off to all unsigned commits and allow the DCO check to pass.

Checklist

  • Read the contributing guidelines
  • Signed off each commit with a Developer Certificate of Origin (DCO)
  • Opened this PR as a 'Draft Pull Request' if it is work-in-progress
  • Updated the documentation to reflect the code changes
  • Added a description of this change in the RELEASE.md file
  • Added tests to cover my changes
  • Checked if this change will affect Kedro-Viz, and if so, communicated that with the Viz team

Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
@noklam noklam marked this pull request as ready for review November 11, 2024 13:57
Copy link
Member

@merelcht merelcht left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this looks really good! Just left several spelling/wording suggestions.

RELEASE.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
noklam and others added 3 commits November 12, 2024 12:07
Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
Co-authored-by: Merel Theisen <49397448+merelcht@users.noreply.github.com>
Signed-off-by: Nok Lam Chan <nok.lam.chan@quantumblack.com>
@noklam noklam requested review from ankatiyar and removed request for astrojuanlu and yetudada November 15, 2024 12:05
Copy link
Member

@merelcht merelcht left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still some small outstanding comments, but assuming you'll address these, I'll approve 👍

docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
Copy link
Contributor

@ElenaKhaustova ElenaKhaustova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great 👍

#### `settings.py`
The `settings.py` file is an important configuration file in a Kedro project that allows you to define various settings and hooks for your project. Here’s a breakdown of its purpose and functionality:
- Project Settings: This file is where you can configure project-wide settings, such as defining the logging level, setting environment variables, or specifying paths for data and outputs.
- Hooks Registration: You can register custom hooks in settings.py, which are functions that can be executed at specific points in the Kedro pipeline lifecycle (e.g., before or after a node runs). This is useful for adding additional functionality, such as logging or monitoring.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Hooks Registration: You can register custom hooks in settings.py, which are functions that can be executed at specific points in the Kedro pipeline lifecycle (e.g., before or after a node runs). This is useful for adding additional functionality, such as logging or monitoring.
- Hooks Registration: You can register custom hooks in `settings.py`, which are functions that can be executed at specific points in the Kedro pipeline lifecycle (e.g., before or after a node runs). This is useful for adding additional functionality, such as logging or monitoring.

docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
Copy link
Contributor

@ankatiyar ankatiyar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nits but looks good! 🚀

@@ -0,0 +1,176 @@
# Create a Minimal Kedro Project
This documentation aims to explain the essential components of a minimal Kedro project. The guide begins with a blank project and gradually introduces the necessary elements. While most users typically start with a [project template]((./new_project.md)) or adapt an existing Python project, this guide will help you understand the core concepts and how to customise them to suit your specific needs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This documentation aims to explain the essential components of a minimal Kedro project. The guide begins with a blank project and gradually introduces the necessary elements. While most users typically start with a [project template]((./new_project.md)) or adapt an existing Python project, this guide will help you understand the core concepts and how to customise them to suit your specific needs.
This documentation aims to explain the essential components of a minimal Kedro project. The guide begins with a blank project and gradually introduces the necessary elements. While most users typically start with a [project template](./new_project.md) or adapt an existing Python project, this guide will help you understand the core concepts and how to customise them to suit your specific needs.

I find the second sentence a bit confusing. Maybe it can be "Most users typically start with a project template or adapt an existing Python project. This guide will help you understand the core components of a Kedro project and how to customise them to suit your specific needs."

Copy link
Contributor Author

@noklam noklam Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#4305 (comment)

I think the idea is that, starting with a blank project isn't something that most people would do, so the goal of this documentation focus on explains the concept, but not a step-by-step guide that one should follow in reality.

Maybe I should flip the sentence like this?

While most users typically start with a project template or adapt an existing Python project, this guide begins with a blank project and gradually introduces the necessary elements. This will help you understand the core concepts and how to customise them to suit your specific needs.

docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
docs/source/get_started/minimal_kedro_project.md Outdated Show resolved Hide resolved
Signed-off-by: Nok <nok.lam.chan@quantumblack.com>
Signed-off-by: Nok Lam Chan <nok.lam.chan@quantumblack.com>
@noklam noklam enabled auto-merge (squash) November 19, 2024 06:44
@noklam noklam merged commit 63d7516 into main Nov 19, 2024
10 checks passed
@noklam noklam deleted the noklam/document-workflow-to-incrementally-2512 branch November 19, 2024 07:10
Comment on lines +88 to +94
```toml
[tool.kedro]
package_name = "minikedro"
project_name = "minikedro"
kedro_init_version = "0.19.9"
source_dir = "."
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, so the Python packaging metadata ([project] table) is not even needed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document workflow to incrementally create a minimal Kedro project from scratch
5 participants