dirigent-block-duckdb
The DuckDB engine of dirigent's sql family. Install it beside dirigent-block-sql and a
sql connection whose url is duckdb:///warehouse.duckdb or duckdb:///:memory: works like
any other: the same two blocks, the same fields, the same rules.
uv pip install dirigent-block-duckdb
It registers under the dirigent.sql.engines.v1 entry-point group, so the family finds it with
no configuration, and a worker that never runs a duckdb:// url carries none of it -- the
engine binary is larger than every other driver the family speaks to put together.
DuckDB has no async driver at all, so every call runs in a worker thread, and a deadline that passes interrupts the engine rather than leaving a statement running behind a step that has already failed.
Files, and what holds them in
A statement here reads and writes the parquet and csv files a run holds: read_parquet(:source)
and COPY ... TO :target take a file the same way a WHERE clause takes a value, and a
file:// storage URI in params arrives as the path duckdb opens.
The boundary is duckdb's own, not a check on the parameters. A session is opened, given the
run's work directory and its local scratch space as its allowed_directories, and then closed
around them: enable_external_access goes off, which is what makes those roots the only paths
the engine will open, and lock_configuration goes on, which refuses the SET that would give
any of it back. So a path written straight into the sql is refused the same way a parameter
outside the run is, and a statement cannot LOAD or INSTALL a further extension to reach past
the boundary. Spilled intermediates and duckdb's secret store are pointed inside the run's work
directory for the same reason.
Where a parameter or a statement names an s3:// object, the session loads duckdb's httpfs
extension and is given the endpoint, region, credential and addressing style of the connection
the s3 scheme is configured from, and that scheme stays reachable beside the run's own
directories. The extension is loaded, never installed, at run time; a bare install does it once:
python -c "import duckdb; duckdb.connect().execute('INSTALL httpfs')"
docs/sql.md is the family's home, and its DuckDB section is the worked example.
Release files for dirigent-block-duckdb 0.17.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dirigent_block_duckdb-0.17.2.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dirigent_block_duckdb-0.17.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.1 kB
Release files / dirigent_block_duckdb-0.17.2.tar.gz
| Download URL | dirigent_block_duckdb-0.17.2.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95a852ce188f5f9a5f197aff1438242e3fa9a83459322319c285d533660be71d
|
|
BLAKE2b-256 checksum How to use checksums |
e35c93367d04721a06c122fbb14135f15f3464ccf72fd57bef4e835799870f66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency logRelease files / dirigent_block_duckdb-0.17.2-py3-none-any.whl
| Download URL | dirigent_block_duckdb-0.17.2-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f00aa452748eda6a513d607dbd5dd4296f2a28132bcb0193c6b28b8893fdbe00
|
|
BLAKE2b-256 checksum How to use checksums |
88ea570ec9c88291b6a50c42347639fe2e4cefd904927c4a44e6563770b25e69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency log