# Dagster vs Kestra

**Leader by Vioscale score:** Dagster

| Attribute | Dagster | Kestra |
|---|---|---|
| **Vioscale score** | 70.4 (68% (medium)) | 61.2 (55% (medium)) |
| activity.commits_last_30d | 81 | - |
| adoption.dependent_repos | 286 | - |
| adoption.github_stars | 16,066 | - |
| adoption.package_downloads_weekly | 2,176,853 | - |
| deployment.options | `{"cloud":true,"hybrid":true,"self_hosted":true}` | `{"cloud":true,"on_prem":true,"air_gapped":true,"self_hosted":true}` |
| description.long | 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. | An open-source platform designed for orchestrating complex, long-running workflows across data pipelines, AI systems, and infrastructure operations. Supports multiple languages and deployment models (cloud, self-hosted, air-gapped), with built-in reliability features like retries, backfills, and comprehensive observability. |
| features.capabilities | `{"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}` | `{"cdc":false,"role":"orchestrator","lineage":true,"paradigm":"both","iso_27001":false,"dbt_native":true,"data_quality":true,"elt_pushdown":true,"python_first":true,"soc2_type_ii":false,"managed_cloud":true,"connector_count":"1900+","self_hosted_oss":true,"incremental_runs":true,"distributed_executor":true,"builder_ui_architecture":"visual_node_canvas","custom_http_webhook_catch_and_triggering":true,"native_llm_nodes_anthropic_openai_gemini":true,"on_premise_self_hosted_deployment_option":true,"bring_your_own_key_byok_for_llm_inference":true,"web_scraping_and_browser_automation_nodes":false,"sub_workflow_calling_and_reusable_templates":false,"human_in_the_loop_approval_steps_via_slack_email":true,"dynamic_conditional_routing_via_llm_classification":true,"unstructured_document_extraction_pdf_image_to_json":true}` |
| integrations.count | 14 | 1,900 |
| integrations.list | `[{"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"}]` | `[{"name":"Ansible"},{"name":"dbt"},{"name":"Spark"},{"name":"Airbyte"},{"name":"Dremio"},{"name":"Arrow Flight SQL"},{"name":"Git"},{"name":"GitHub"},{"name":"GitHub Actions"},{"name":"Kubernetes"},{"name":"Docker"},{"name":"Terraform"},{"name":"Slack"},{"name":"S3"},{"name":"Azure Data Lake Storage"},{"name":"Postgres"},{"name":"JDBC databases"},{"name":"HTTP APIs"},{"name":"Polars"},{"name":"Python"},{"name":"Bash"},{"name":"Node.js"},{"name":"Go"},{"name":"Apache Kafka"},{"name":"Apache Spark"},{"name":"PagerDuty"},{"name":"PostgreSQL"},{"name":"OpenAI"},{"name":"Anthropic"},{"name":"Google Gemini"},{"name":"Perplexity"},{"name":"Google Analytics"},{"name":"Salesforce"},{"name":"Facebook Ads"},{"name":"RabbitMQ"},{"name":"Yahoo Finance"},{"name":"AWS Secrets Manager"},{"name":"HashiCorp Vault"},{"name":"Google Cloud"},{"name":"Google BigQuery"},{"name":"R"},{"name":"Java"},{"name":"Julia"},{"name":"Ruby"},{"name":"Shell"}]` |
| language.primary | Python | - |
| license.spdx | Apache-2.0 | - |
| market.availability | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true,"web":true}` |
| pricing | `{"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"]}` | `{"type":"hybrid","plans":[{"free":true,"name":"Open Source","summary":"Free, open-source","features":["Workflow design & execution","Scheduling & event triggers","Real-time processing","Embedded code editor","Git integration & versioning","Multi-cloud & air-gapped deployment"],"description":"Self-hosted open-source version with core orchestration features","contactSales":false},{"free":false,"name":"Kestra Cloud","summary":"Managed cloud orchestration","features":["Fully managed hosting","Built-in security and governance","Role-based access control","Audit logs","Asset lineage","Secrets management","Production-ready observability"],"description":"Fully managed cloud platform","contactSales":false},{"free":false,"name":"Enterprise","summary":"Enterprise self-hosted with dedicated support","features":["Annual subscription model","Customer success program with SLA","24-hour response time","Audit logs and governance","Multi-tenancy support","Advanced RBAC and secrets management","Dedicated support channel"],"commitment":"annual","description":"Self-hosted enterprise edition with advanced support","contactSales":true}],"summary":"Free open-source tier; managed and self-hosted enterprise options available","currency":"USD","freeTier":true,"sourceUrl":"https://kestra.io/pricing","retrievedAt":"2026-08-21T12:42:20.781Z","billingPeriods":["month","year"]}` |
| pricing.free_tier | yes | yes |
| pricing.model | freemium | freemium |
| pricing.price_level | low | low |
| pricing.transparent | yes | no |
| release.cadence_days | 7 | - |
| release.history | `[{"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 | yes |
| security.hipaa | yes | - |
| security.scorecard | 4.8 | - |
| security.soc2 | yes | yes |
| security.vulnerabilities | `{"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 | Dagster | Kestra |
|---|:--:|:--:|
| **Core** |  |  |
| Tool role | Orchestrator | Orchestrator |
| Processing paradigm | Batch | Batch + streaming |
| **Connectivity** |  |  |
| Connector count | - | 1900+ |
| 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-01T17:18:18.126Z. "-" = undocumented, not absent.*
