SQLite for analyticsin-process, columnar, vectorized; pip install and go
query files directlyFROM 'data.parquet' — no CREATE TABLE, with predicate/projection pushdown
DataFrames by namereplacement scan: SELECT * FROM df with zero copy
.df() / .pl() / .arrow()results back to Pandas / Polars / Arrow with no serialization
relational API is lazy.filter().aggregate()...; runs on fetch, composes with SQL
friendly SQLFROM-first, SELECT * EXCLUDE/REPLACE, GROUP BY ALL, QUALIFY, SUMMARIZE
httpfs = query S3/HTTP in placerange-reads remote Parquet; CREATE SECRET for creds
COPY (...) TO 'out.parquet'the export workhorse, incl. PARTITION_BY
in-memory by defaultconnect("file.duckdb") to persist; one writer per file