Kedro Light is intended to be useful regardless of how you want to lay out your project.
As a simple example, consider the project depicted on the tabs above.
Note that Kedro expects you to have both a base and overriding set of configuration files, with the former in a folder named "base" and the latter in a folder that, by default, is expected to be named "local".
To create a Kedro DataCatalog object, you just need to provide a path to your project folder, along with an indication of where your Kedro configuration files will be kept.
You might find it convenient to identify your project folder using the __file__ property of a file within your project.
Kedro Node objects are created using the standard Kedro node function, which has been re-exported by Kedro Light for convenience.
For example, let's assume you want to load the famous Iris dataset into your data folder, undertake principal component analysis on it, and plot the results.
To do so, you should define or identify functions representing these transformations, and apply them to named datasets, as shown above.
Dataset names beginning with an underscore above are ones which will remain in memory, rather than being written to disk, hence they do not appear in your data catalog.
The inputs and outputs of your nodes should collectively form a directed, acyclic graph (DAG).
Kedro Pipeline objects can be created by passing your DAG of nodes into Kedro's pipeline function, which has also been re-exported by Kedro Light for convenience.
To actually use that pipeline, Kedro Light includes a run function.
This takes some optional keyword arguments that specify the Kedro runner that is used (SequentialRunner by default, otherwise ParallelRunner or ThreadRunner), and the run method that is called (either run or run_only_missing).
Kedro Light also provides a function for serving a local web-app via Kedro-Viz.
This function side-steps Kedro-Viz's usual approach of identifying pipelines based on a typical Kedro project structure, and instead lets you pass in pipelines in as Python objects explicitly.
The web-app will be served from http://localhost:4141/.