Discover / Automation

Dagster

by dagster-ioPython

Cloud-native orchestrator for data assets and pipelines.

Toolstable

Maturity: stable because 8y old, 1.13.16 released 4d ago. Derived from release and commit history, not a rating.

Stars
16k
Forks
2.2k
Downloads / mo
9.3M
Last commit
2026-08-03
License
Apache-2.0
Open issues
2.6k

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Task based schedulers do not track the data that pipelines produce, so lineage and asset freshness stay invisible.

Use it when

When you want to declare tables, models and reports as Python assets and have the orchestrator keep them up to date.

Not the right pick when

Wrong pick outside Python 3.9 through 3.14, and the asset centric model is heavier than plain task running needs.

Capabilities

  • declare data assets as Python functions with the asset decorator
  • asset graph rendered in the Dagster web UI
  • integrated lineage and observability in one control plane
  • designed for local development, unit tests, staging and production
  • growing library of integrations for popular data tools

Requirements

  • Python 3.9 through Python 3.14

Cost: Free and open source

Install

Derived from the published package name in the repository, not from a model.

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Ships CLAUDE.mdMCP manifestHas docsHas examplesCI configured

Detected from the actual files in the repository root.

Latest release 1.13.16

Published 2026-07-30

New

  • Declarative Automation can now automate jobs, available as a preview feature. Pass an automation_condition to define_asset_job — wrapping an asset-level condition with AutomationCondition.any_job_root_assets_match or AutomationCondition.all_job_root_assets_match — to launch a single run of the job when the condition becomes true. Evaluation history is viewable in the new Automation tab on job pages.
  • [ui] The Components tab for a code location now lists all component instances in the location, not just app-managed ones.

Bugfixes

  • [dagster-airbyte] Fixed a bug where Airbyte API requests were not retried on transient failures, causing syncs to fail after a single transient error despite the request_max_retries setting. (Thanks, @MercureTony!)

Documentation

  • Clarified the distinction between definition-time and runtime metadata, and documented how to access asset definition metadata from a custom I/O manager.
  • Documented the available configuration options for the Soda integration.

Tags

README

<div align="center">

<!-- Note: Do not try adding the dark mode version here with the picture element, it will break formatting in PyPI -->

<a target="_blank" href="https://dagster.io" style="background:none">

<img alt="dagster logo" src="https://raw.githubusercontent.com/dagster-io/dagster/master/.github/dagster-logo-light.svg" width="auto" height="100%">

</a>

<a target="_blank" href="https://github.com/dagster-io/dagster" style="background:none">

<img src="https://img.shields.io/github/stars/dagster-io/dagster?labelColor=4F43DD&color=163B36&logo=github">

</a>

<a target="_blank" href="https://github.com/dagster-io/dagster/blob/master/LICENSE" style="background:none">

<img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg?label=license&labelColor=4F43DD&color=163B36">

</a>

<a target="_blank" href="https://pypi.org/project/dagster/" style="background:none">

<img src="https://img.shields.io/pypi/v/dagster?labelColor=4F43DD&color=163B36">

</a>

<a target="_blank" href="https://pypi.org/project/dagster/" style="background:none">

<img src="https://img.shields.io/pypi/pyversions/dagster?labelColor=4F43DD&color=163B36">

</a>

<a target="_blank" href="https://twitter.com/dagster" style="background:none">

<img src="https://img.shields.io/badge/twitter-dagster-blue.svg?labelColor=4F43DD&color=163B36&logo=twitter" />

</a>

<a target="_blank" href="https://dagster.io/slack" style="background:none">

<img src="https://img.shields.io/badge/slack-dagster-blue.svg?labelColor=4F43DD&color=163B36&logo=slack" />

</a>

<a target="_blank" href="https://linkedin.com/showcase/dagster" style="background:none">

<img src="https://img.shields.io/badge/linkedin-dagster-blue.svg?labelColor=4F43DD&color=163B36&logo=linkedin" />

</a>

</div>

Dagster is a cloud-native data pipeline orchestrator for the whole development lifecycle, with integrated lineage and observability, a declarative programming model, and best-in-class testability.

It is designed for developing and maintaining data assets, such as tables, data sets, machine learning models, and reports.

With Dagster, you declare—as Python functions—the data assets that you want to build. Dagster then helps you run your functions at the right time and keep your assets up-to-date.

Here is an example of a graph of three assets defined in Python:


import dagster as dg
import pandas as pd

from sklearn.linear_model import LinearRegression

@dg.asset
def country_populations() -> pd.DataFrame:
    df = pd.read_html("https://tinyurl.com/mry64ebh")[0]
    df.columns = ["country", "pop2022", "pop2023", "change", "continent", "region"]
    df["change"] = df["change"].str.rstrip("%").astype("float")
    return df

@dg.asset
def continent_change_model(country_populations: pd.DataFrame) -> LinearRegression:
    data = country_populations.dropna(subset=["change"])
    return LinearRegression().fit(pd.get_dummies(data[["continent"]]), data["change"])

@dg.asset
def continent_stats(country_populations: pd.DataFrame, continent_change_model: LinearRegression) -> pd.DataFrame:
    result = country_populations.groupby("continent").sum()
    result["pop_change_factor"] = continent_change_model.coef_
    return result

The graph loaded into Dagster's web UI:

<p align="center">

<img width="100%" alt="An example asset graph as rendered in the Dagster UI" src="https://raw.githubusercontent.com/dagster-io/dagster/master/.github/example-lineage.png">

</p>

Dagster is built to be used at every stage of the data development lifecycle - local development, unit tests, integration tests, staging environments, all the way up to production.

Quick Start:

If you're new to Dagster, we recommend checking out the docs or following the hands-on tutorial.

Dagster is available on PyPI and officially supports Python 3.9 through Python 3.14.


uv add dagster dagster-webserver dagster-dg-cli

Documentation

You can find the full Dagster documentation here, including the Quickstart guide.

<hr/>

Key Features:

<p align="center">

<img width="100%" alt="image" src="https://raw.githubusercontent.com/dagster-io/dagster/master/.github/key-features-cards.svg">

</p>

Dagster as a productivity platform

Identify the key assets you need to create using a declarative approach, or you can focus on running basic tasks. Embrace CI/CD best practices from the get-go: build reusable components, spot data quality issues, and flag bugs early.

Dagster as a robust orchestration engine

Put your pipelines into production with a robust multi-tenant, multi-tool engine that scales technically and organizationally.

Dagster as a unified control plane

Maintain control over your data as the complexity scales. Centralize your metadata in one tool with built-in observability, diagnostics, cataloging, and lineage. Spot any issues and identify performance improvement opportunities.

<hr />

Master the Modern Data Stack with integrations

Dagster provides a growing library of integrations for today’s most popular data tools. Integrate with the tools you already use, and deploy to your infrastructure.

<br/>

<p align="center">

<a target="_blank" href="https://dagster.io/integrations" style="background:none">

<img width="100%" alt="image" src="https://raw.githubusercontent.com/dagster-io/dagster/master/.github/integrations-bar-for-readme.png">

</a>

</p>

Community

Connect with thousands of other data practitioners building with Dagster. Share knowledge, get help,

and contribute to the open-source project. To see featured material and upcoming events, check out

our Dagster Community page.

Join our community here:

Contributing

For details on contributing or running the project for development, check out our [contributing

guide](https://docs.dagster.io/about/contributing).

License

Dagster is Apache 2.0 licensed.

Related tools