0.19.9
Major features and improvements
- Dropped Python 3.8 support.
- Implemented
KedroDataCatalogrepeatingDataCatalogfunctionality with a few API enhancements:- Removed
_FrozenDatasetsand 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.
- Removed
- Moved development requirements from
requirements.txtto the dedicated section inpyproject.tomlfor project template. - Implemented
Protocolabstraction for the currentDataCatalogand adding new catalog implementations. - Refactored
kedro runandkedro catalogcommands. - Moved pattern resolution logic from
DataCatalogto a separate component -CatalogConfigResolver. UpdatedDataCatalogto useCatalogConfigResolverinternally. - Made packaged Kedro projects return
session.run()output to be used when running it in the interactive environment. - Enhanced
OmegaConfigLoaderconfiguration 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.existswould not call the underlyingMemoryDataset. - Fixed template projects example tests.
- Made credentials loading consistent between
KedroContext._get_catalog()andresolve_patternsso that both use_get_config_credentials()
Breaking changes to the API
- Removed
ShelveStoreto address a security vulnerability.
Documentation changes
- Fix logo on PyPI page.
- Minor language/styling updates.