Major features and improvements
- Kedro plugins can now override built-in CLI commands.
- Added a
before_command_runhook for plugins to add extra behaviour before Kedro CLI commands run.
register_pipelinehooks are now loaded lazily when they are first accessed, not on startup:
from kedro.framework.project import pipelines print(pipelines["__default__"]) # pipeline loading is only triggered here
Bug fixes and other changes
TemplatedConfigLoadernow correctly inserts default values when no globals are supplied.
- Fixed a bug where the
KEDRO_ENVenvironment variable had no effect on instantiating the
contextvariable in an iPython session or a Jupyter notebook.
- Plugins with empty CLI groups are no longer displayed in the Kedro CLI help screen.
- Duplicate commands will no longer appear twice in the Kedro CLI help screen.
- CLI commands from sources with the same name will show under one list in the help screen.
- The setup of a Kedro project, including adding src to path and configuring settings, is now handled via the
configure_projectis invoked if a
package_nameis supplied to
KedroSession.create. This is added for backward-compatibility purpose to support a workflow that creates
Sessionmanually. It will be removed in
- Stopped swallowing up all
register_pipelinesnot found, so that a more helpful error message will appear when a dependency is missing, e.g. Issue #722.
kedro newis invoked using a configuration yaml file,
output_diris no longer a required key; by default the current working directory will be used.
kedro newis invoked using a configuration yaml file, the appropriate
prompts.ymlfile is now used for validating the provided configuration. Previously, validation was always performed against the kedro project template
- When a relative path to a starter template is provided,
kedro newnow generates user prompts to obtain configuration rather than supplying empty configuration.
- Fixed error when using starters on Windows with Python 3.7 (Issue #722).
- Fixed decoding error of config files that contain accented characters by opening them for reading in UTF-8.
- Fixed an issue where
after_dataset_loadedrun would finish before a dataset is actually loaded when using
Upcoming deprecations for Kedro 0.18.0
kedro.versioning.journal.Journalwill be removed.
- The following properties on
kedro.framework.context.KedroContextwill be removed:
ioin favour of
pipelinesin favour of