This package is WIP and ultimately aim to provide a polars like API for DuckDB, with full support of Duckdb functionnalities.
Compared to narhwals, it aims to support more functionnality from polars AND all of those from duckdb, as pql is not limited by multiple backend compatibility.
Same story for SQLFrame.
The goal is to use as much as possible of the existing Expression/Relational API and functions from duckdb. raw SQL is only used when no other choice exist.
The sql folder is the internal API to create duckdb Expressions.
- Wraps the duckdb API to provide better naming/usage ergonomics
- Extends the existing methods
- Handles conversion of raw inputs to duckdb expressions.
Then the "surface" level modules are wrappers on top of this API, to provide the actual user-facing API.
Run scripts with uv run -m scripts.