Skip to content

duckrun

Run SQL in DuckDB, read & write Delta Lake via delta-rs — locally or object store.

Get started Connection API dbt adapter Examples

Install

pip install duckrun

In a Microsoft Fabric notebook, upgrade and restart the kernel (duckrun needs duckdb ≥ 1.5.4, newer than the bundled stable build):

!pip install duckrun --upgrade
notebookutils.session.restartPython()

Read a lakehouse

import duckrun

# Read-only by default — explore safely, no chance of an accidental write.
conn = duckrun.connect("abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<lakehouse_id>/Tables/dbo")

conn.sql("show tables").show()
conn.sql("select status, count(*) from orders group by status").show()
reader = conn.table("orders").toArrow()   # streaming pyarrow.RecordBatchReader

That's the whole on-ramp. Writing Delta from SQL, snapshot-pinned upserts, the dbt adapter, the design, and live examples are one click away in the menu above — start with the Connection API or the dbt adapter.

duckrun is just glue — the real work is done by: