# SQLMesh

> Transformation framework with virtual environments and no wasted rebuilds

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.

Website: https://www.tobikodata.com/

## Use it when

- Rebuild cost dominates: a plan classifies each change as breaking or non-breaking and executes only the models it affects.
- Development environments should be free to create; virtual environments point at existing tables instead of copying them.
- Column-level lineage and unit tests belong in the open-source tool, not a paid tier.
- Models must run across dialects; SQLGlot transpiles more than ten.

## Think twice when

- The team's ecosystem is dbt: packages, integrations, and hiring all lean that way, and dbt project import is still described as in development.
- A production semantic layer is required; SQLMesh's metrics are documented as a prototype.
- Vendor independence from dbt Labs was the reason to switch: Fivetran acquired Tobiko and then merged with dbt Labs, so both frameworks now share an owner.

## How it runs

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.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (permissive) |
| SPDX identifier | Apache-2.0 |
| Deployment | Self-hosted, Managed, Hybrid |
| Workload | Batch |
| Operational complexity | Low |
| Pricing | Free, Subscription |
| Language | Python |
| Repository | https://github.com/SQLMesh/sqlmesh |
| Documentation | https://sqlmesh.readthedocs.io/en/stable/ |
| Stars | 3.3k |

### Transformation

| Attribute | Value |
| --- | --- |
| Engines | 10+ engines: Snowflake, BigQuery, Databricks, Redshift, Postgres, DuckDB |
| 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 |
| 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 |
| 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 |
| 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 |
| Billing unit | Free to self-host; Tobiko Cloud is a platform fee plus pay-as-you-go consumption, with no seat or project limits |

## Capabilities

- [Transformation](https://matca.io/capabilities/transformation)

---

Source: https://matca.io/sqlmesh
Last updated: 2026-08-31T11:40:47.246Z
