Juan Luis
12/14/2023, 12:57 PM0.19
is available! K
> TLDR: Kedro 0.19 is a new major release that contains some breaking changes with respect to 0.18.x. Among other things, we introduced project tools that help you further customise the result of kedro new
, added support for soft merge in OmegaConfigLoader
, improved the error messages when datasets are not found, and modernised the default project templates by having the build configuration and project metadata in pyproject.toml
. Datasets are gone (you must install kedro-datasets
instead), alternative config loaders are gone too (only OmegaConfigLoader
remains) and some deprecated CLI commands were removed. To help you upgrade, we wrote a migration guide.
*Y*ou can install Kedro 0.19 with:
pip install kedro==0.19.1
or
conda/mamba/micromamba install -c conda-forge kedro=0.19.1
(Yes, there's also 0.19.0, but we detected a problematic bug with it so we went ahead and released 0.19.1 with a fix immediately after)
You can find the release highlights below, for the complete list of changes go to the release notes https://github.com/kedro-org/kedro/blob/main/RELEASE.md#release-0191 and https://github.com/kedro-org/kedro/blob/main/RELEASE.md#release-0190
🚀 Major Features and improvements
• Dropped Python 3.7 support.
• Introduced project tools and example to the `kedro new` CLI flow.
• The new spaceflights starters, spaceflights-pandas
, spaceflights-pandas-viz
, spaceflights-pyspark
, and spaceflights-pyspark-viz
can be used with the kedro new
command with the --starter
flag.
• Added the --conf-source
option to %reload_kedro
, allowing users to specify a source for project configuration.
• Added the functionality to choose a merging strategy for config files loaded with `OmegaConfigLoader`.
• Modified the mechanism of importing datasets, raise more explicit error when dependencies are missing.
• Added validation for configuration file used to override run commands via the CLI.
• Moved the default environment base
and local
from config loader to _ProjectSettings
. This enables the use of config loader as a standalone class without affecting existing Kedro Framework users.
🪲 Bug fixes and other changes
• Added a new field tools
to pyproject.toml
when a project is created.
• Reduced spaceflights
data to minimise waiting times during tutorial execution.
• Added validation to node tags to be consistent with node names.
• Removed pip-tools
as a dependency.
• Accepted path-like filepaths more broadly for datasets.
• Loosened pin for kedro-telemtry
to fix dependency issues in 0.19.0
.
💥 Breaking changes
• Removed ConfigLoader
and TemplatedConfigLoader
.
• Removed kedro.extras.datasets
and tests (use kedro-datasets
instead)
• Removed PartitionedDataset
and IncrementalDataset
from <http://kedro.io|kedro.io>
(import them from kedro-datasets
instead)
• logging
is removed from OmegaConfigLoader
in favour of the environment variable KEDRO_LOGGING_CONFIG
.
• Removed support for defining the layer
attribute at top-level within DataCatalog.
• Renamed data_set
and DataSet
to dataset
and Dataset
everywhere.
• Removed the create_default_data_set()
method in the Runner
in favour of using dataset factories to create default dataset instances.
• The default project template now has only one pyproject.toml
at the root of the project (containing both the packaging metadata and the Kedro build config).
✍️ Documentation changes
• Added new top navigation to easily switch between Framework, Viz, and Datasets.
• Added new search-as-you-type to improve the search experience.
kedroid Community contributions
A million thanks to Jeroldine Akuye Oakley, @Laiza Milena Scheid Parizotto, @Mustapha Abdullahi, @Adam Kells, Ajay Gonepuri for submitting PRs to this release!
🚨 If you are upgrading from Kedro 0.18, have a look at the migration guide.
We welcome every community contribution, large or small. See what we're working on now and report bugs or suggest future features.
Until next time,
The Kedro Team 💛