Feature highlight — 5 min read

Top 10 features added to the Kedro ecosystem in 2024

This blog post highlights ten of the most notable enhancements and improvements to the Kedro ecosystem in the recent releases.

7 Oct 2024 (last updated 7 Oct 2024)
cover image alt

Following major releases at the end of 2023 for both Kedro and Kedro-Viz, we've kept the momentum going with eight more releases for kedro, fourteen for kedro-plugins, seven for kedro-viz and a brand-new project vscode-kedro ! Here, we highlight the ten most impactful new features introduced this year.

1. Enhanced catalog and dataset exploration functionality

We've made it easier than ever to explore your data with Kedro:

  • Pretty printing: both the DataCatalog and individual datasets now support pretty printing for better readability.

  • Key completion: easily access datasets within the DataCatalog using key completion.

These improvements significantly streamline how you interact with and manage your data catalog.

Pretty print catalog and datasets

2. Debug nodes inside notebooks

Debugging Kedro nodes became a lot easier with the introduction of the debugging line magic %load_nodefor Jupyter Notebook and Jupyter Lab. The %load_node line magic allows you to load the contents of a node in your project into a series of notebook cells and run them from there.

Jupyter load node

Learn more about this feature in our docs on debugging a Kedro project within a notebook.

3. Dataset preview

To give users a better understanding of their data, Kedro-Viz now supports dataset previews. Currently, Kedro-Viz shows previews out of the box for the following formats:

  • TablePreview: For datasets that return tables or DataFrames.

  • JSONPreview: For datasets returning JSON objects.

  • PlotlyPreview: For datasets with Plotly charts.

  • ImagePreview: For datasets returning base64-encoded images.

This is what the preview for a Plotly dataset looks like:

Plotly dataset preview

Users can also extend the preview functionality for custom datasets. Learn how to do this and more in our docs about previewing datasets in Kedro-Viz.

4. Powerful configuration management

In Kedro 0.18.5, we introduced the OmegaConfigLoader, replacing the legacy ConfigLoader and TemplatedConfigLoader. This new configuration loader, powered by OmegaConf, brings a range of features that were previously unavailable. Here are two notable enhancements:

  1. Config file merging strategy: with OmegaConfigLoader, you can specify a custom merging strategy for your config files, moving beyond the default destructive merge. This flexibility allows you to define different strategies for specific configurations directly in your project's settings.py file. For example:

    1from kedro.config import OmegaConfigLoader
    2
    3CONFIG_LOADER_CLASS = OmegaConfigLoader
    4
    5CONFIG_LOADER_ARGS = {
    6    "merge_strategy": {
    7        "parameters": "soft",
    8        "spark": "destructive",
    9        "mlflow": "soft",
    10    }
    11}

    In this case, "soft" merging will preserve existing values unless explicitly overridden, while "destructive" merging will completely replace them.

  2. Dynamic value resolvers: instead of hard-coding values in your configuration files, OmegaConfigLoader enables dynamic computation of values using OmegaConf’s resolver functionality. Resolvers allow you to define custom logic to calculate values for parameters or catalog entries, or even inject values from external sources—making your configurations more flexible and adaptable.

Learn more about the features of OmegaConfigLoader in the configuration docs.

5. Official Kedro VS Code extension

We’ve added a new project to the Kedro ecosystem: vscode-kedro ! It’s the official Kedro VS Code extension, which integrates Kedro projects with Visual Studio Code, providing features like enhanced code navigation, autocompletion and embedded Kedro-Viz for seamless development. You can download the extension from the Visual Studio Marketplace, which also shows the major features the plugin provides.

Animated GIF of Kedro Viz integration on VS Code
Kedro Viz on VS Code

6. Customise your project on creation

One of the core value propositions of Kedro is its role as a framework for users to adopt software engineering best practices for data science. When you create a new Kedro project, we set it up to follow the template of a typical, well-structured data science codebase, much like Create React App from the front-end world.

Kedro was created with the view that we should include everything in a new data science project that users need for software best practices. To address the feedback that Kedro was intimidating for new users and too opinionated for advanced users with their own way of doing things, we now enable you to customise what is included in a new project.

You can make a basic, empty, project or create a full-featured spaceflights example that includes every tool we recommend. Or you can put something together customised for your particular needs.

When running kedro new the CLI now offers the option to select the tools you’d like to include in the project.

New project creation flow

Learn more about the project creation flow and tools in our docs.

7. Publishing & sharing Kedro-Viz

Sharing pipeline visualisations with your team and stakeholders got a lot easier through the publish and share feature on Kedro-Viz. This feature enables seamless sharing of pipeline visualisations on any static website hosting platform. It's possible to publish Kedro-Viz on platforms like GitHub pages, or deploy it to AWS, Azure, or GCP. Learn how to use this feature in our docs on publishing and sharing Kedro-Viz.

Kedro-Viz publish and share to AWS

8. Experimental datasets contributions

We've introduced a new contribution model for the kedro-datasets repository to accommodate contributions that are more experimental and may not fully adhere to the usual standards, such as being fully tested. This model allows for the inclusion of datasets that are in the early stages of development or might not meet the criteria for being part of the core Kedro datasets.

Some experimental datasets contributed so far:

  • langchain.ChatAnthropicDataset

  • langchain.ChatCohereDataset

  • langchain.ChatOpenAIDataset

  • langchain.OpenAIEmbeddingsDataset

  • netcdf.NetCDFDataset

  • rioxarray.GeoTIFFDataset

9. Stateful URLs

Filtering your data pipelines in Kedro-Viz is now more powerful thanks to stateful URLs. After applying filters (such as tags or type), the URL updates to reflect the filtered state. Simply share the URL with others to provide direct access to the same filtered view. This feature allows for quicker collaboration and more focused discussions about specific parts of your pipeline. Learn more about this functionality in our docs on filtering and sharing Kedro-Viz.

10. Slice your pipelines in Kedro-Viz

Pipeline slicing—running a specific subset of nodes within your pipeline—has long been available through the Kedro CLI. Now, we’ve supercharged this popular feature by integrating it directly into Kedro-Viz. With this enhancement, you can visually slice your pipeline, and Kedro-Viz will automatically generate the corresponding CLI command for the selected slice. This makes it easier than ever to execute a subset of your pipeline. Learn more in our short YouTube tutorial about pipeline slicing.

Visual slicing of pipeline


On this page:

Photo of Merel Theisen
Merel Theisen
Principal Software Engineer, QuantumBlack
Share post:
Twitter logoLinkedIn logo

All blog posts

cover image alt

Kedro newsletter — 5 min read

In the pipeline: October 2024

From the latest news to upcoming events and interesting topics, “In the Pipeline” is overflowing with updates for the Kedro community.

Jo Stichbury

2 Oct 2024

cover image alt

News — 5 min read

Introducing a Kedro extension for VS Code

We're launching a Kedro extension for VS Code that offers enhanced code navigation and autocompletion.

Nok Lam Chan

1 Aug 2024

cover image alt

Kedro newsletter — 5 min read

In the pipeline: July 2024

From the latest news to upcoming events and interesting topics, “In the Pipeline” is overflowing with updates for the Kedro community.

Jo Stichbury

1 Jul 2024

cover image alt

SQL in Python — 7 min read

Streamlining SQL Data Processing in Kedro ML Pipelines

Kedro and Ibis streamline the management of ML pipelines and SQL queries within a Python project, leveraging Google BigQuery for efficient execution and storage.

Dmitry Sorokin

5 Jun 2024

cover image alt

Kedro newsletter — 5 min read

In the pipeline: May 2024

From the latest news to upcoming events and interesting topics, “In the Pipeline” is overflowing with updates for the Kedro community.

Jo Stichbury

7 May 2024