NumbDuck
Adapting DuckDB database API to the Numba JIT context.
Leverages bindings toolkit in the NumbOx project.
Inspired by the NumbSQL project.
Examples
Runnable narrative-style examples comparing numbduck against the closest stock
DuckDB Python+Arrow approaches live in examples/. Each script is
self-contained, generates its own data, and prints the measured numbers.
Highlights:
-
Throughput (haversine.py): JIT chunk callback is ~400× faster than a per-row Python scalar UDF (10K rows) and ~100× faster than a PyArrow expression UDF at 1M rows. The win comes from no Python crossings per chunk and LLVM-fused math with no intermediate arrays.
-
Latency + GIL-free (online_scoring.py): ~2.2× lower per-event latency vs pure-Python
conn.execute, and monotonic parallel scaling to ~2.4× on 8 threads while the Python loop plateaus under GIL contention. -
Branchy logic (fraud_score.py): Arrow's
pc.if_elsechain beats the Python scalar UDF by ~60× (Arrow is the right stock-DuckDB tool here). The JIT chunk callback then beats Arrow by ~16× at 10K and ~1750× at 1M rows — the gap grows because each Arrow UDF chunk crosses the Python boundary and allocates intermediates, while the JIT computes in registers.
Release files for numbduck 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| numbduck-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Release files / numbduck-0.0.3-py3-none-any.whl
| Download URL | numbduck-0.0.3-py3-none-any.whl |
|---|---|
| Size | 20.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
910233f7a732ee202c11804267a460a0f3edb88959ec4872a98cad77890061cd
|
|
BLAKE2b-256 checksum How to use checksums |
b5553bff9ac2c2afafecd8708649e91f8f9e6f9f1ce0515b992362229cb7744c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 23, 2026.
Transparency log