SQLMesh is a data transformation framework from Tobiko Data that runs SQL and Python models with a plan-and-apply workflow, column-level lineage, unit tests, and virtual data environments that let teams preview changes without rebuilding tables.
A Python framework, free to self-host: sqlmesh plan classifies and applies changes, and the built-in scheduler needs only cron or CI to call sqlmesh run against Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB, and more. Airflow and Dagster integrate; Tobiko Cloud is the managed layer, billed as a platform fee plus consumption.
How SQLMesh answers the questions Transformation turns on.
| How it works | |
| Model language | SQL transpiled across dialects by SQLGlot; Python models |
| Model kinds | Typed model kinds rather than hand-rolled logic, FULL, VIEW, EMBEDDED, SEED, EXTERNAL, MANAGED, SCD_TYPE_2 and incremental by time range, unique key or partition |
| Change detection | A plan classifies each edit as breaking or non-breaking automatically and prompts when unsure, breaking backfills dependents, non-breaking backfills only the model; forward-only reuses the existing tables and skips backfill entirely |
| Testing | Unit tests in YAML with fixtures, run on demand or on every plan; audits are the separate check that runs against live data |
| Lineage | Column-level lineage in the UI beside the model-level graph |
| Semantic layer | Metrics exist but the docs call them a prototype, not for production use |
| Running it | |
| Environments | Virtual environments are shallow clones, model fingerprints decide what can be reused, so an environment costs only the gaps a change actually opens, and promoting one does not recompute it |
| Scheduling | A built-in scheduler needs only cron or CI to call sqlmesh run; Airflow and Dagster integrate, and Tobiko Cloud schedules it for you |
| Connections | |
| Engines | 10+ engines: Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB |
| Cost | |
| Billing unit | Free to self-host; Tobiko Cloud is a platform fee plus pay-as-you-go consumption, with no seat or project limits |
vs SQLMesh: Self-hosted · Managed · Go
vs SQLMesh: Commercial · Managed
vs SQLMesh: Self-hosted · Managed · Free · TypeScript