github quantumblacklabs/kedro 0.17.3

Release 0.17.3

Major features and improvements

  • Kedro plugins can now override built-in CLI commands.
  • Added a before_command_run hook for plugins to add extra behaviour before Kedro CLI commands run.
  • pipelines from and register_pipeline hooks 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

  • TemplatedConfigLoader now correctly inserts default values when no globals are supplied.
  • Fixed a bug where the KEDRO_ENV environment variable had no effect on instantiating the context variable 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 bootstrap_project method.
  • configure_project is invoked if a package_name is supplied to KedroSession.create. This is added for backward-compatibility purpose to support a workflow that creates Session manually. It will be removed in 0.18.0.
  • Stopped swallowing up all ModuleNotFoundError if register_pipelines not found, so that a more helpful error message will appear when a dependency is missing, e.g. Issue #722.
  • When kedro new is invoked using a configuration yaml file, output_dir is no longer a required key; by default the current working directory will be used.
  • When kedro new is invoked using a configuration yaml file, the appropriate prompts.yml file is now used for validating the provided configuration. Previously, validation was always performed against the kedro project template prompts.yml file.
  • When a relative path to a starter template is provided, kedro new now 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_loaded run would finish before a dataset is actually loaded when using --async flag.

Upcoming deprecations for Kedro 0.18.0

  • kedro.versioning.journal.Journal will be removed.
  • The following properties on kedro.framework.context.KedroContext will be removed:
    • io in favour of KedroContext.catalog
    • pipeline (equivalent to pipelines["__default__"])
    • pipelines in favour of kedro.framework.project.pipelines
latest releases: 0.17.5, 0.17.4
5 months ago