-
Notifications
You must be signed in to change notification settings - Fork 906
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 minimal Kedro project from scratch #2512
Comments
I'd love to see this happening, one way or another. This was one of my first desires as a Kedro newbie, and would solve some pain points around installation too. In fact, this issue is essentially the same as gh-681, and it has taken multiple forms (gh-1722, gh-2360). As @amandakys already pointed out, this overlaps with gh-2388. For well-formed Python libraries, the only steps needed are
However, I wouldn't assume that most of our users can produce a well-formed Python library in the first place, so more work would be needed. Tools like
but then leave the last mile to the user:
|
I create a minimal non-standard kedro project here: https://github.com/noklam/minimal_kedro/tree/main/my_weird_src/minimal_kedro I try to do 1 change per commit to show how I remove/move things around. At any commit you should be still able to do The PR show diff between the project and the original Cc @amandakys |
Thanks Nok! This is great. Just putting in some background for what we discussed. Many parts of Kedro's project template are more configurable than we publicise. It is possible to make Kedro work with all sorts of modifications to the project template, but this might require certain workarounds, or knowledge of where to change the appropriate config. As a team, we are also not clear on this. By creating a project that challenges all the assumptions of our project template, i.e. fewer directories, files in different places etc, expose what elements of the project template that the framework fundamentally depends on, and which parts are more flexible. With this knowledge we can then move forward with developing a solution to help our user's adopt Kedro into their projects in the least intrusive way possible. The first step of which might just be better documenting this flexibility and what is/isn't absolutely necessary. Some key takeways:
Next steps:
|
@amandakys Do you want to resume on this discussion? |
http://wiseideas.au/kedro-light/usage was mentioned today. This get me think about what will be included in a This is out-of-scope but thinking what's the minimal thing to create a |
Where does the |
Our "minimal project" is smaller than our default template. Summary of research https://miro.com/app/board/uXjVMwVk_XQ=/?share_link_id=191690116231 (internal link) Summary of related tickets:
|
Discussed this again with @merelcht @yetudada @amandakys with input from @NeroOkwa and @stephkaiser:
|
Other than some of the open issues linked here, is there any more work to be done for this or can this issue be closed as being "as good as completed"? |
I think we can close this issue, there is a clear answer to the question: https://github.com/noklam/minimal_kedro/ We can leave the discussion on the open issue, i.e. should we make this further possible? (pipeline_registry and settings), no obvious demand at the moment. |
Or we turn it into a docs issue in the spirit of #2512 (comment) |
Looks like some people are enjoying https://github.com/astrojuanlu/kedro-init, maybe we could just include it |
Description
This issue was flagged in #410 and the user question is, "How do I use Kedro with an existing project?". This user journey assumes that you already have "a project that has a
data/
directory, asrc/
directory and more" and you want to turn this into a Kedro project and the question becomes, "What are the most minimal files and folders that I will require to turn my work into a Kedro project?"Context
This user problem was raised in #410 and we've come across it in a user interview; the user was trying to convert existing script into a Kedro project and tried to follow the Spaceflights tutorial to do this. They did not start from the default project template and had to troubleshoot why things were not working.
Possible Implementation
We propose a
kedro init
command to add the most minimal series of files and folders to an existing project so that you can use Kedro. I also think you would still need a workflow to guide users on how to write Kedro pipelines from asrc
directory. It would also be great to see this made into a video for publishing on YouTube.The text was updated successfully, but these errors were encountered: