# Apache Airflow vs Dagster

| Attribute | Apache Airflow | Dagster |
|---|---|---|
| **Vioscale score** | 73 (66% (medium)) | 70.4 (68% (medium)) |
| activity.commits_last_30d | 100 | 81 |
| adoption.dependent_repos | 189 | 286 |
| adoption.github_stars | 46,610 | 16,066 |
| adoption.package_downloads_weekly | 3,883,451 | 2,176,853 |
| deployment.options | `{"cloud":true,"hybrid":true,"on_prem":true,"self_hosted":true}` | `{"cloud":true,"hybrid":true,"self_hosted":true}` |
| description.long | A community-built orchestration system that enables users to define data pipelines and tasks in Python, execute them on distributed workers, and monitor progress through a web-based interface. It supports dynamic pipeline generation, extensive third-party integrations, and operates best for batch-oriented workflows. | A unified orchestration and observability platform that manages data pipelines through assets, tracks dependencies and lineage, enforces data quality, and integrates with existing tools like dbt, Snowflake, and Spark. Supports both self-hosted open-source and managed cloud deployment. |
| features.capabilities | `{"role":"orchestrator","lineage":true,"paradigm":"batch","dbt_native":true,"python_first":true,"managed_cloud":true,"connector_count":"100+","self_hosted_oss":true,"incremental_runs":true,"distributed_executor":true}` | `{"cdc":false,"role":"orchestrator","lineage":true,"paradigm":"batch","dbt_native":true,"data_quality":true,"elt_pushdown":false,"python_first":true,"managed_cloud":true,"self_hosted_oss":true,"incremental_runs":true,"distributed_executor":true}` |
| integrations.count | 100 | 14 |
| integrations.list | `[{"name":"Amazon Web Services"},{"name":"Microsoft Azure"},{"name":"Google Cloud Platform"},{"name":"Databricks"},{"name":"Snowflake"},{"name":"dbt Cloud"},{"name":"Slack"},{"name":"Salesforce"},{"name":"Tableau"},{"name":"PostgreSQL"},{"name":"MySQL"},{"name":"MongoDB"},{"name":"Redis"},{"name":"Kubernetes"},{"name":"Docker"},{"name":"Apache Spark"},{"name":"Apache Kafka"},{"name":"Apache Cassandra"},{"name":"Apache Flink"},{"name":"Apache Druid"},{"name":"Elasticsearch"},{"name":"Datadog"},{"name":"Jenkins"},{"name":"GitHub"},{"name":"OpenAI"},{"name":"Anthropic"},{"name":"Cohere"},{"name":"Pinecone"},{"name":"Weaviate"},{"name":"Qdrant"},{"name":"Oracle"},{"name":"Teradata"},{"name":"SQLite"},{"name":"Presto"},{"name":"Trino"},{"name":"ClickHouse"},{"name":"Neo4j"},{"name":"Airbyte"},{"name":"Informatica"},{"name":"Asana"},{"name":"Atlassian Jira"},{"name":"Discord"},{"name":"Telegram"},{"name":"Segment"},{"name":"PagerDuty"},{"name":"Opsgenie"},{"name":"Keycloak"},{"name":"Yandex"},{"name":"Zendesk"},{"name":"OpenLineage"}]` | `[{"name":"dbt"},{"name":"Snowflake"},{"name":"Spark"},{"name":"Databricks"},{"name":"Azure"},{"name":"AWS"},{"name":"Airbyte"},{"name":"Tableau"},{"name":"Soda"},{"name":"Slack"},{"name":"Microsoft Teams"},{"name":"PagerDuty"},{"name":"Datadog"},{"name":"Python"}]` |
| language.primary | Python | Python |
| license.spdx | Apache-2.0 | Apache-2.0 |
| market.availability | - | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true,"web":true,"linux":true}` | `{"cli":true,"web":true}` |
| pricing | `{"type":"open_source","summary":"Free, open-source project. Managed cloud versions available through third parties.","freeTier":true,"sourceUrl":"https://airflow.apache.org","retrievedAt":"2026-08-14T15:28:12.780Z"}` | `{"type":"subscription","plans":[{"free":false,"name":"Solo","summary":"$120/month with 7.5k credits/month included; overages at $0.040/credit","features":["1 User","1 Code location","1 Deployment","Core orchestration","Asset-based orchestration","Data quality checks","Asset metadata and lineage","Email/Slack/Teams alerts","Serverless compute","SOC 2 Type II","GDPR"],"minSeats":1,"components":[{"kind":"fixed","amount":120,"period":"month","currency":"USD"},{"per":{"qty":1,"unit":"credit"},"kind":"metered","amount":0.04,"currency":"USD"},{"per":{"qty":1,"unit":"minute"},"kind":"metered","amount":0.01,"currency":"USD"}],"description":"Personal projects and simple pipelines","contactSales":false,"includedLimits":{"credits":"7.5k/month"}},{"free":false,"name":"Starter","summary":"$1200/month with 30k credits/month included; overages at $0.035/credit","features":["Up to 3 Users","5 Code locations","1 Deployment","Catalog search","Column-level lineage","Data quality checks","Asset health status","Cost tracking for BigQuery/Snowflake","PagerDuty/Datadog integration","Role-based access control","Hybrid deployments","SSO","Audit logs"],"minSeats":3,"components":[{"kind":"fixed","amount":1200,"period":"month","currency":"USD"},{"per":{"qty":1,"unit":"credit"},"kind":"metered","amount":0.035,"currency":"USD"},{"per":{"qty":1,"unit":"minute"},"kind":"metered","amount":0.01,"currency":"USD"}],"description":"Production pipelines for small teams with role-based access control and catalog search","contactSales":false,"includedLimits":{"credits":"30k/month"}},{"free":false,"name":"Pro/Enterprise","summary":"Custom pricing; contact sales","features":["Unlimited code locations","Unlimited deployments","Custom serverless compute pricing","Cost tracking and insights","Personalized onboarding support","Private Slack channel","Uptime SLAs","Custom security questionnaires","SAML/SCIM provisioning (Okta, Entra ID)","AI-native features (Dagster+ AI chat, auto-remediation)","EU data residency","HIPAA compliance","Webhook and advanced alerting"],"description":"Large-scale enterprise data platforms with custom requirements","contactSales":true}],"summary":"From $120/month. 30-day free trial. Subscription with metered credits (asset materializations and ops executed); serverless compute charged separately.","currency":"USD","freeTier":false,"sourceUrl":"https://dagster.io/pricing","retrievedAt":"2026-08-14T15:27:01.773Z","freeTrialDays":30,"startingPrice":{"amount":0.01,"period":"month","currency":"USD"},"billingPeriods":["month"]}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | freemium |
| pricing.price_level | free | low |
| pricing.transparent | yes | yes |
| release.cadence_days | 13 | 7 |
| release.history | `[{"url":"https://github.com/apache/airflow/releases/tag/3.3.1","date":"2026-08-12T09:50:17Z","type":"stable","version":"3.3.1"},{"url":"https://github.com/apache/airflow/releases/tag/java-sdk/1.0.0-beta1","date":"2026-07-13T18:14:58Z","type":"prerelease","version":"java-sdk/1.0.0-beta1"},{"url":"https://github.com/apache/airflow/releases/tag/3.3.0","date":"2026-07-06T15:16:00Z","type":"stable","version":"3.3.0"},{"url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.22.0","date":"2026-06-13T23:37:21Z","type":"stable","version":"helm-chart/1.22.0"},{"url":"https://github.com/apache/airflow/releases/tag/airflow-ctl/0.1.5","date":"2026-06-03T20:29:33Z","type":"stable","version":"airflow-ctl/0.1.5"},{"url":"https://github.com/apache/airflow/releases/tag/3.2.2","date":"2026-05-29T06:27:24Z","type":"stable","version":"3.2.2"},{"url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.21.0","date":"2026-04-24T20:54:43Z","type":"stable","version":"helm-chart/1.21.0"},{"url":"https://github.com/apache/airflow/releases/tag/3.2.1","date":"2026-04-22T09:27:57Z","type":"stable","version":"3.2.1"},{"url":"https://github.com/apache/airflow/releases/tag/3.2.0","date":"2026-04-07T14:51:49Z","type":"stable","version":"3.2.0"},{"url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.20.0","date":"2026-03-22T22:34:36Z","type":"stable","version":"helm-chart/1.20.0"},{"url":"https://github.com/apache/airflow/releases/tag/airflow-ctl/0.1.3","date":"2026-03-19T10:35:06Z","type":"stable","version":"airflow-ctl/0.1.3"},{"url":"https://github.com/apache/airflow/releases/tag/3.1.8","date":"2026-03-11T22:16:16Z","type":"stable","version":"3.1.8"},{"url":"https://github.com/apache/airflow/releases/tag/airflow-ctl/0.1.2","date":"2026-02-25T21:45:45Z","type":"stable","version":"airflow-ctl/0.1.2"},{"url":"https://github.com/apache/airflow/releases/tag/helm-chart/1.19.0","date":"2026-02-17T19:54:34Z","type":"stable","version":"helm-chart/1.19.0"},{"url":"https://github.com/apache/airflow/releases/tag/3.1.7","date":"2026-02-04T12:20:25Z","type":"stable","version":"3.1.7"},{"url":"https://github.com/apache/airflow/releases/tag/3.1.6","date":"2026-01-13T11:08:29Z","type":"stable","version":"3.1.6"},{"url":"https://github.com/apache/airflow/releases/tag/airflow-ctl/0.1.1","date":"2026-01-13T21:57:27Z","type":"stable","version":"airflow-ctl/0.1.1"},{"url":"https://github.com/apache/airflow/releases/tag/3.1.5","date":"2025-12-10T09:11:07Z","type":"stable","version":"3.1.5"},{"url":"https://github.com/apache/airflow/releases/tag/3.1.3","date":"2025-11-14T14:47:34Z","type":"stable","version":"3.1.3"},{"url":"https://github.com/apache/airflow/releases/tag/3.1.2","date":"2025-11-05T16:03:57Z","type":"stable","version":"3.1.2"}]` | `[{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.19","date":"2026-08-21T15:53:20Z","type":"stable","version":"1.13.19"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.18","date":"2026-08-14T19:59:51Z","type":"stable","version":"1.13.18"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.17","date":"2026-08-07T19:12:58Z","type":"stable","version":"1.13.17"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.16","date":"2026-07-30T17:24:09Z","type":"stable","version":"1.13.16"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.15","date":"2026-07-23T15:59:52Z","type":"stable","version":"1.13.15"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.14","date":"2026-07-16T18:39:10Z","type":"stable","version":"1.13.14"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.13","date":"2026-07-09T17:39:15Z","type":"stable","version":"1.13.13"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.12","date":"2026-07-02T16:27:40Z","type":"stable","version":"1.13.12"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.11","date":"2026-06-25T18:23:24Z","type":"stable","version":"1.13.11"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.10","date":"2026-06-18T19:23:58Z","type":"stable","version":"1.13.10"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.9","date":"2026-06-11T19:16:52Z","type":"stable","version":"1.13.9"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.8","date":"2026-06-04T18:11:04Z","type":"stable","version":"1.13.8"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.7","date":"2026-05-28T17:18:25Z","type":"stable","version":"1.13.7"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.6","date":"2026-05-22T18:17:05Z","type":"stable","version":"1.13.6"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.5","date":"2026-05-15T16:40:58Z","type":"stable","version":"1.13.5"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.4","date":"2026-05-14T15:31:55Z","type":"stable","version":"1.13.4"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.3","date":"2026-04-30T20:46:18Z","type":"stable","version":"1.13.3"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.2","date":"2026-04-23T18:30:38Z","type":"stable","version":"1.13.2"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.1","date":"2026-04-17T19:33:16Z","type":"stable","version":"1.13.1"},{"url":"https://github.com/dagster-io/dagster/releases/tag/1.13.0","date":"2026-04-09T18:57:35Z","type":"stable","version":"1.13.0"}]` |
| security.disclosure_policy | - | yes |
| security.gdpr | - | yes |
| security.hipaa | - | yes |
| security.scorecard | 7.3 | 4.8 |
| security.soc2 | - | yes |
| security.vulnerabilities | `{"count":1,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=apache-airflow-providers-common-sql&per_page=100","last_12m":0,"max_severity":"HIGH"}` | `{"count":3,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=dagster&per_page=100","last_12m":1,"max_severity":"HIGH"}` |

## Capabilities (Data Engineering Tools)

| Capability | Apache Airflow | Dagster |
|---|:--:|:--:|
| **Core** |  |  |
| Tool role | Orchestrator | Orchestrator |
| Processing paradigm | Batch | Batch |
| **Connectivity** |  |  |
| Connector count | 100+ | - |
| CDC / log-based replication | - | ✗ |
| **Transformation** |  |  |
| In-warehouse transformation (push-down) | - | ✗ |
| dbt-native orchestration | ✓ | ✓ |
| **Deployment** |  |  |
| Self-hosted / open-source available | ✓ | ✓ |
| Managed cloud available | ✓ | ✓ |
| **Governance** |  |  |
| Data lineage / asset catalog | ✓ | ✓ |
| **Authoring** |  |  |
| Python-first authoring | ✓ | ✓ |
| **Execution** |  |  |
| Incremental / partition-aware runs | ✓ | ✓ |
| **Quality** |  |  |
| Built-in data quality / tests | - | ✓ |
| **Scale** |  |  |
| Horizontal scale (distributed executor) | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T14:29:53.996Z. "-" = undocumented, not absent.*
