Rocky: the typed graph between your code and your warehouse
The typed graph between your code and whatever warehouse you have chosen. Storage and compute stay where they are.
What Rocky is
Section titled “What Rocky is”Rocky is a typed SQL compiler and run engine. You write SQL and TOML. Rocky compiles the project and reports the static problems it can find before anything runs. Then it sends generated SQL to your warehouse.
A clean compile does not prove general SQL validity or correct result values. See what Rocky checks.
Install and run
Section titled “Install and run”curl -fsSL https://raw.githubusercontent.com/rocky-data/rocky/main/engine/install.sh | bashrocky playground my-first-projectcd my-first-projectrocky compile # type-checkrocky run # materialize the DAG on local DuckDBYou need no credentials. Other platforms: Installation. The full walk-through is the Quickstart.
See the project
Section titled “See the project”Open the browser UI first. It needs no editor. Add the editor extension when you write models.
Browser UI: rocky serve --uiModels and the DAG, runs, plans waiting for review, and policy decisions. The release binaries include it.
VS Code extensionCompile errors, column types, and lineage as you type, through the rocky lsp language server.
What you get
Section titled “What you get”| Need | Command | Page |
|---|---|---|
| Typed compile errors with fixes | rocky compile |
Compiler |
| Column-level lineage for PR review | rocky lineage-diff main |
Introduction |
| Isolated branches and run replay | rocky branch create, rocky replay <run_id> |
Shadow mode |
| Per-model cost, as an estimate and not a bill | rocky cost |
Introduction |
| A way out, with no lock-in | rocky emit-sql |
No lock-in |
Who it is for
Section titled “Who it is for”Rocky is built first for data platform engineers who run production-critical, multi-tenant pipelines on Databricks. That is where it has the most production mileage.
Snowflake and BigQuery adapters are Beta. See the Roadmap.
IntroductionWhy Rocky exists, what it checks, and how far each part has shipped.
Import a dbt projectrocky import-dbt writes a runnable Rocky repo. You move over one piece at a time.
Using Dagster?dagster-rocky wraps the CLI as a ConfigurableResource.