finds.dev← search

// the find

duckdb/dbt-duckdb

★ 1,297 · Python · Apache-2.0 · updated Jun 2026

dbt adapter for DuckDB

dbt-duckdb is the official dbt adapter for DuckDB, letting you run your entire dbt transformation pipeline against an in-process analytical database. The in-memory mode makes it genuinely useful for CI pipelines and local development without any infrastructure setup.

The plugin system is well-designed — custom UDFs, Excel/GSheet sources, and SQLAlchemy bridges all hang off the same clean interface without touching adapter internals. External file materializations (Parquet/CSV/JSON with S3 support) turn DuckDB into a lightweight lakehouse without a separate catalog. The merge strategy implementation is unusually complete: UPDATE BY NAME, explicit column lists, custom SET expressions, and per-clause conditions are all there. MotherDuck and DuckLake integration is first-class, not bolted on.

The in-memory concurrency model is a real constraint — DuckDB's single-writer rule means parallel dbt threads can silently serialize or fail, and the docs bury this. External materialization doesn't support incremental strategies, so any append/upsert pattern on external files requires workarounds. The retries config is helpful but the default of 1 connect attempt with no query retry means transient S3 errors fail your whole run unless you remember to configure it. Python models run in-process, which means a buggy model can crash the dbt process rather than failing cleanly.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →