Context
At Snowflake Summit (June 2026), dbt Labs released dbt Core v2.0, a Rust rewrite on the Fusion runtime, still Apache 2.0 open source. Up to ~10x faster parse (~30x on 10k+ model projects). Currently alpha — pin explicitly: pip install dbt-core==2.0.0-alpha.1. APIs and on-disk formats may still change.
Probe results (2026-06-02, uv venv, Python 3.12)
uv pip install "dbt-core==2.0.0-alpha.1" installs cleanly with zero Python deps.
- Payload is a 117 MB native arm64 Mach-O binary at
.venv/bin/dbt (Fusion engine), shipped in a ~41.5 MB platform-specific wheel.
- No importable
dbt Python module — import dbt fails. v2 is CLI-only.
- Full subcommand set present (
run, build, compile, parse, login, …).
Why we can't adopt yet — two hard blockers
- No DuckDB adapter for v2.
dbt-duckdb maxes at 1.10.1, which requires the dbt-core 1.x family (dbt-adapters 1.x, dbt-common 1.x). dbt-duckdb>=2.0 → no solution found. Fusion launch adapters are Snowflake/BigQuery/Databricks/Redshift only. Our stack is DuckDB/MotherDuck. dbt-core 2.0 + dbt-duckdb cannot coexist (uv silently keeps dbt-core 1.x).
- Dagster integration imports dbt as a Python module.
src/tycoon/orchestration/assets/transforms.py uses from tycoon.dbt import dbt_project / dbt.cli([...]).stream() (the dagster-dbt manifest-parsing path). v2 has no Python module, so this breaks regardless of adapters.
The subprocess path (src/tycoon/commands/transform.py resolves .venv/bin/dbt then shutil.which) would be compatible — but adapters block it before that matters.
Exit criteria to revisit
Possible follow-ups once unblocked
- Add a Python-version + dbt-engine probe to
doctor (which dbt the venv resolves, v1 vs v2).
- Evaluate
dbt lint (SQLFluff-compatible) and dbt Docs v2 for register dbt / data analyze flows.
Not targeted at v0.1.9 — tracking only.
Context
At Snowflake Summit (June 2026), dbt Labs released dbt Core v2.0, a Rust rewrite on the Fusion runtime, still Apache 2.0 open source. Up to ~10x faster parse (~30x on 10k+ model projects). Currently alpha — pin explicitly:
pip install dbt-core==2.0.0-alpha.1. APIs and on-disk formats may still change.Probe results (2026-06-02, uv venv, Python 3.12)
uv pip install "dbt-core==2.0.0-alpha.1"installs cleanly with zero Python deps..venv/bin/dbt(Fusion engine), shipped in a ~41.5 MB platform-specific wheel.dbtPython module —import dbtfails. v2 is CLI-only.run,build,compile,parse,login, …).Why we can't adopt yet — two hard blockers
dbt-duckdbmaxes at1.10.1, which requires the dbt-core 1.x family (dbt-adapters1.x,dbt-common1.x).dbt-duckdb>=2.0→ no solution found. Fusion launch adapters are Snowflake/BigQuery/Databricks/Redshift only. Our stack is DuckDB/MotherDuck.dbt-core 2.0+dbt-duckdbcannot coexist (uv silently keeps dbt-core 1.x).src/tycoon/orchestration/assets/transforms.pyusesfrom tycoon.dbt import dbt_project/dbt.cli([...]).stream()(thedagster-dbtmanifest-parsing path). v2 has no Python module, so this breaks regardless of adapters.The subprocess path (
src/tycoon/commands/transform.pyresolves.venv/bin/dbtthenshutil.which) would be compatible — but adapters block it before that matters.Exit criteria to revisit
dbt-duckdbv2 adapter exists (compatible with dbt-core 2.x / Fusion).dagster-dbtsupports the Fusion engine / v2 on-disk manifest format.Possible follow-ups once unblocked
doctor(which dbt the venv resolves, v1 vs v2).dbt lint(SQLFluff-compatible) anddbt Docs v2forregister dbt/data analyzeflows.Not targeted at v0.1.9 — tracking only.