Kedro-Dagster makes it easy to deploy Kedro projects to Dagster
Project description
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.
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.ymlfile 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?
- 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>
- 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
- 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/en/latest/.
Can I contribute?
We welcome contributions, feedback, and questions:
- Report issues or request features: GitHub Issues
- Join the discussion: Kedro Slack
- Contributing Guide: CONTRIBUTING.md
If you are interested in becoming a maintainer or taking a more active role, please reach out to Guillaume Tauzin on the Kedro Slack.
Where can I learn more?
There is a growing community around the Kedro project and we encourage you to become part of it. To ask and answer technical questions on the Kedro Slack and bookmark the Linen archive of past discussions. For questions related specifically to Kedro-Dagster, you can also open a discussion.
License
This project is licensed under the terms of the Apache 2.0 License.
Acknowledgements
This plugin is developed and maintained by Guillaume Tauzin.
It is inspired by existing Kedro plugins such as the official Kedro plugins, kedro-kubeflow, kedro-mlflow.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kedro_dagster-0.5.1.tar.gz.
File metadata
- Download URL: kedro_dagster-0.5.1.tar.gz
- Upload date:
- Size: 4.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b09e54742855ee60bb6ffffb311a2462f7d00570f02d907ea4f82a4c9de3c0ba
|
|
| MD5 |
6d8860b0377e926498bb2709e5a49ab2
|
|
| BLAKE2b-256 |
88e616a755214500cf4cdb570aa6be9c36cf7cf220baa9015da02215dc5297a5
|
Provenance
The following attestation bundles were made for kedro_dagster-0.5.1.tar.gz:
Publisher:
release.yml on gtauzin/kedro-dagster
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kedro_dagster-0.5.1.tar.gz -
Subject digest:
b09e54742855ee60bb6ffffb311a2462f7d00570f02d907ea4f82a4c9de3c0ba - Sigstore transparency entry: 740573685
- Sigstore integration time:
-
Permalink:
gtauzin/kedro-dagster@171a107326c279db782b37fd412879eb925cff7b -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/gtauzin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@171a107326c279db782b37fd412879eb925cff7b -
Trigger Event:
push
-
Statement type:
File details
Details for the file kedro_dagster-0.5.1-py3-none-any.whl.
File metadata
- Download URL: kedro_dagster-0.5.1-py3-none-any.whl
- Upload date:
- Size: 63.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fb65b35521f75a8e4897de8fe454f93e191e7b5328da889392bf28ae1b1d54b
|
|
| MD5 |
6ec758677bf8edd5b57aca5024cb05f8
|
|
| BLAKE2b-256 |
bb8565113f8bc8fa4a69c9c05ac44f65b95656f76e2b5e4d8f535f643671e0a3
|
Provenance
The following attestation bundles were made for kedro_dagster-0.5.1-py3-none-any.whl:
Publisher:
release.yml on gtauzin/kedro-dagster
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kedro_dagster-0.5.1-py3-none-any.whl -
Subject digest:
7fb65b35521f75a8e4897de8fe454f93e191e7b5328da889392bf28ae1b1d54b - Sigstore transparency entry: 740573696
- Sigstore integration time:
-
Permalink:
gtauzin/kedro-dagster@171a107326c279db782b37fd412879eb925cff7b -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/gtauzin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@171a107326c279db782b37fd412879eb925cff7b -
Trigger Event:
push
-
Statement type: