Skip to main content

Kedro-Dagster

Python Version License PyPI Version Conda Version CodeCov

Powered by Kedro Slack Organisation

What is Kedro-Dagster?

The Kedro-Dagster plugin enables seamless integration between Kedro, a framework for creating reproducible and maintainable data science code, and Dagster, a data orchestrator for machine learning and data pipelines. This plugin makes use of Dagster's orchestration capabilities to automate and monitor Kedro pipelines effectively.

Kedro-Dagster Asset Graph

Currently, Kedro-Dagster supports Kedro versions 0.19.x and 1.x, and Dagster versions 1.10.x, 1.11.x, and 1.12.x.

What are the features of Kedro-Dagster?

  • Configuration-driven workflows: Centralize orchestration settings in a dagster.yml file for each Kedro environment. Define jobs from filtered Kedro pipelines, assign executors, schedules.
  • Customization: The core integration lives in the auto-generated Dagster definitions.py. For advanced use cases, you can extend or override these definitions.
  • Kedro hooks preservation: Kedro hooks are preserved and called at the appropriate time during pipeline execution, so custom logic (e.g., data validation, logging) continues to work seamlessly.
  • MLflow compatibility: Use Kedro-MLflow with Dagster’s MLflow integration to track experiments, log models, and register artifacts.
  • Logger integration: Unifies Kedro and Dagster logging so logs from Kedro nodes appear in the Dagster UI and are easy to trace and debug. Additionally, provides configuration to customize Dagster run loggers.
  • (Experimental) Dagster partition support: Make use of Dagster's partitions to fan-out Kedro nodes acting on partitioned data.

How to install Kedro-Dagster?

Install the Kedro-Dagster plugin using pip:

pip install kedro-dagster

or using uv:

uv pip install kedro-dagster

or using conda:

conda install -c conda-forge kedro-dagster

or using mamba:

mamba install -c conda-forge kedro-dagster

or alternatively, add kedro-dagster to your requirements.txt or pyproject.toml file.

How to get started with Kedro-Dagster?

  1. Initialize the plugin in your Kedro project

Use the following command to generate a definitions.py file, where all translated Kedro objects are available as Dagster objects, and a dagster.yml configuration file:

kedro dagster init --env <ENV_NAME>
  1. Configure jobs, executors, and schedules

Define your job executors and schedules in the dagster.yml configuration file located in your Kedro project's conf/<ENV_NAME> directory. This file allows you to filter Kedro pipelines and assign specific executors and schedules to them.

# conf/local/dagster.yml
schedules:
  daily: # Schedule name
    cron_schedule: "0 0 * * *" # Schedule parameters

executors: # Executor name
  sequential: # Executor parameters
    in_process:

  multiprocess:
    multiprocess:
      max_concurrent: 2

jobs:
  default: # Job name
    pipeline: # Pipeline filter parameters
      pipeline_name: __default__
    executor: sequential

  parallel_data_processing:
    pipeline:
      pipeline_name: data_processing
      node_names:
      - preprocess_companies_node
      - preprocess_shuttles_node
    schedule: daily
    executor: multiprocess

  data_science:
    pipeline:
      pipeline_name: data_science
    schedule: daily
    executor: sequential
  1. Launch the Dagster UI

Start the Dagster UI to monitor and manage your pipelines using the following command:

kedro dagster dev --env <ENV_NAME>

The Dagster UI will be available at http://127.0.0.1:3000.

For a concrete use-case, see the Kedro-Dagster example repository.

How do I use Kedro-Dagster?

Full documentation is available at https://kedro-dagster.readthedocs.io/.

Can I contribute?

We welcome contributions, feedback, and questions:

If you are interested in becoming a maintainer or taking a more active role, please reach out to Guillaume Tauzin on GitHub Discussions.

Where can I learn more?

For questions and discussions, you can also open a discussion.

License

This project is licensed under the terms of the Apache-2.0 License.

Acknowledgements

This project is maintained by stateful-y, an ML consultancy specializing in MLOps and data science & engineering. If you're interested in collaborating or learning more about our services, please visit our website.

Made by stateful-y

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kedro_dagster-0.8.0.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kedro_dagster-0.8.0-py3-none-any.whl (77.5 kB view details)

Uploaded Python 3

File details

Details for the file kedro_dagster-0.8.0.tar.gz.

File metadata

  • Download URL: kedro_dagster-0.8.0.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kedro_dagster-0.8.0.tar.gz
Algorithm Hash digest
SHA256 dd8c2b5b11320ad1306f78f5b4f8006d280675d84a3d8698436d508c18c0b125
MD5 d03cfd2486600ec688f35d34d6d9bcd5
BLAKE2b-256 b4d65c335313279c42fdb0503e2428bb1ba7ad84466a3237bf7e386674453c20

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedro_dagster-0.8.0.tar.gz:

Publisher: publish-release.yml on stateful-y/kedro-dagster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedro_dagster-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: kedro_dagster-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 77.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kedro_dagster-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4aef999eb72d3bdb7d0eb9241b89087427faf6bd2c595356c82753aabef5387e
MD5 4c4392a819387da0975988222aa6c28e
BLAKE2b-256 c14e8ec0f42e90d0316c83936497bee6bc4ccd0443377705b36386077b0f079a

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedro_dagster-0.8.0-py3-none-any.whl:

Publisher: publish-release.yml on stateful-y/kedro-dagster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 files

0.7.0

2 files

0.6.0

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page