Guide to CLI commands¶
Note: This documentation is based on
Kedro 0.15.9, if you spot anything that is incorrect then please create an issue or pull request.
kedro command line interface (CLI) helps with reproducibility in projects by allowing you to associate a set of commands and dependencies with a target and then execute them from the command line when inside a Kedro project directory. All project related CLI commands should be run from the project’s root directory.
The supported commands are specified in the
kedro_cli.py file. It is easy to extend
kedro_cli.py by either modifying the file or injecting commands into it by using the plugin framework.
To allow your shell to autocomplete
kedro commands, you can add the following to your
.bashrc (or just run it on the command line)
eval "$(_KEDRO_COMPLETE=source kedro)"
Global Kedro commands¶
Show version and exit:
kedro -V kedro --version
See extensive logging and error stack traces:
kedro -v kedro --verbose
Get help on Kedro commands:
kedro -h kedro --help
Create a new kedro project:
See the Kedro API documentation (including the tutorial):
Project-specific Kedro commands¶
run() method of the
ProjectContext defined in
To make sure the project is shareable and reproducible, you should maintain the
kedro run program definitions in the
kedro_cli.py to point to the entry point in your project.
Install all package dependencies specified in
pytest unit tests found in
src/tests, including coverage (see the file
Package your application as one
.egg file and one
.whl file within the
src/dist/ folder of your project. For further information about packaging for Python, documentation is provided here.
kedro jupyter notebook,
kedro jupyter lab,
Start a Jupyter Notebook, Lab or REPL session respectively.
Every time you start or restart a notebook kernel, a startup script (
<project-root>/.ipython/profile_default/startup/00-kedro-init.py) will add the following variables in scope:
ProjectContextclass defined in
src/project-name/run.py) (The details of how to use
contextcan be found here)
To reload these at any point in your notebook (e.g. if you updated
catalog.yml) use the line magic
This line magic can be also used to see the error message if any of the variables above are undefined.
kedro jupyter convert¶
Copy the code from cells tagged with
node tag into Python files under
src/<package_name>/nodes/ in a Kedro project.
Typically output cells of Jupyter Notebook should not be tracked by git, especially if they contain sensitive information.
This command adds a
git hook which clears all notebook output cells before committing anything to
git. This needs to run only once per local repository.
You can also invoke the Kedro CLI as a Python module:
python -m kedro