github kedro-org/kedro 0.19.9

13 hours ago

Major features and improvements

  • Dropped Python 3.8 support.
  • Implemented KedroDataCatalog repeating DataCatalog functionality with a few API enhancements:
    • Removed _FrozenDatasets and access datasets as properties;
    • Added get dataset by name feature;
    • add_feed_dict() was simplified to only add raw data;
    • Datasets' initialisation was moved out from from_config() method to the constructor.
  • Moved development requirements from requirements.txt to the dedicated section in pyproject.toml for project template.
  • Implemented Protocol abstraction for the current DataCatalog and adding new catalog implementations.
  • Refactored kedro run and kedro catalog commands.
  • Moved pattern resolution logic from DataCatalog to a separate component - CatalogConfigResolver. Updated DataCatalog to use CatalogConfigResolver internally.
  • Made packaged Kedro projects return session.run() output to be used when running it in the interactive environment.
  • Enhanced OmegaConfigLoader configuration validation to detect duplicate keys at all parameter levels, ensuring comprehensive nested key checking.

Note: KedroDataCatalog is an experimental feature and is under active development. Therefore, it is possible we'll introduce breaking changes to this class, so be mindful of that if you decide to use it already. Let us know if you have any feedback about the KedroDataCatalog or ideas for new features.

Bug fixes and other changes

  • Fixed bug where using dataset factories breaks with ThreadRunner.
  • Fixed a bug where SharedMemoryDataset.exists would not call the underlying MemoryDataset.
  • Fixed template projects example tests.
  • Made credentials loading consistent between KedroContext._get_catalog() and resolve_patterns so that both use _get_config_credentials()

Breaking changes to the API

  • Removed ShelveStore to address a security vulnerability.

Documentation changes

  • Fix logo on PyPI page.
  • Minor language/styling updates.

Community contributions

Don't miss a new kedro release

NewReleases is sending notifications on new releases.