kedro-org / kedro-community

Examples of data science projects created with Kedro.
https://quantumblacklabs.github.io/kedro-community/1
Apache License 2.0
171 stars 43 forks source link

Find kedro iris #44

Closed WaylonWalker closed 4 years ago

WaylonWalker commented 4 years ago

Description

To give an example of running a kedro project using find-kedro.

I like to think of find-kedro as a router. Individual pipelines are created simply by creating a new .py module with a set of nodes that can be pattern matched by find-kedro. Inspired by how pytest pattern matches modules/tests find-kedro pattern matches for pipelines/nodes. The patterns can be configured, but by default will pick up any module with the word node or pipeline in the name. It will then assemble nodes from those file by any node like objects kedro.pipeline.node, kedro.pipeline.Pipeline, or a list of kedro.pipeline.nodes) that contain the word node or pipeline

I think that find-kedro solves some frustrations that beginners have in passing around functions from module to module. On the surface, this may seem like an easy task, but many hours can be lost by one missing import inside an __init__.py that they forgot to check. I really like the simplicity that it brings, and hope you like the idea as well.

Development notes

You can follow the git commits, It started with a kedro==0.16.1 kedro new iris pipeline. The pipeline modules were reconstructed, then find-kedro was added to run.py.

Running both kedro run and pytest from the command line pass.

Checklist

Notice

921kiyo commented 4 years ago

Hi @WaylonWalker Apologies for the late response on this, and thank you for the PR!

Since we cannot maintain the code example of your kedro-find in this repository but would love to let the community know about your awesome plugin, can we have a link to the kedro-find code example in https://github.com/quantumblacklabs/kedro-examples#where-can-i-find-more-kedro-examples instead? Let me know what you think :)

WaylonWalker commented 4 years ago

Hey @921kiyo, No problem on the late response. There was no rush here. I completely understand.

I am putting together a set of examples, but haven't touched them in a month or so. Once I finish up I will submit a link. The one submitted here was a bit more aggressive in removing pipeline modules than my current example, so I will at least get that one added. My current example is minimal to convert the existing iris example to find-kedro.

I am putting my examples here https://find.kedro.dev/examples/iris/