duckrun¶
import duckrun
conn = duckrun.connect("<ws>/<lakehouse>.Lakehouse/dbo", read_only=False)
conn.attach("<ws>/<warehouse>.Warehouse", name="wh", read_only=True)
# write a Delta table with plain SQL — CREATE TABLE AS SELECT routes to delta-rs
conn.sql("""
CREATE OR REPLACE TABLE daily_revenue AS
SELECT d.order_date, sum(f.amount) AS revenue
FROM wh.dbo.fact_sales f JOIN dim_date d ON d.date_id = f.date_id
GROUP BY d.order_date
""")
Works anywhere Delta lives — local filesystem, ADLS, S3, GCS, OneLake
duckrun is just glue — the real work is done by DuckDB, delta-rs, dbt-duckdb and Apache Arrow.
needs duckdb >= 1.5.4 · deltalake == 1.5.0