Haybarn
July 29, 2026 · View on GitHub
Haybarn is an independent derived distribution of DuckDB, powered by DuckDB.
Haybarn builds the DuckDB source into its own branded binaries, libraries, and a signed extension ecosystem, with an independent release cadence. It is published by Query Farm LLC.
Haybarn is not affiliated with, sponsored by, or endorsed by the DuckDB Foundation or DuckDB Labs. DuckDB is a trademark of the DuckDB Foundation. See NOTICE for details.
Important
Haybarn 1.5.5 is in release-candidate phase. The current tag is
haybarn-v1.5.5-rc1. Final 1.5.5 will arrive once the extension catalog
has stabilised. Until then, install snippets below pin the rc channel
explicitly. APIs and on-disk formats are inherited from upstream DuckDB
v1.5.5 and will not change between rcs.
Live build + release status across all Haybarn repos: https://haybarn-status.query.farm.
This Haybarn release line is built from DuckDB v1.5.5.
What Haybarn ships
| Artifact | Name | Where |
|---|---|---|
| CLI | haybarn | GitHub Releases, npm (@haybarn/cli-*), PyPI (haybarn-cli) |
| Shared library | libhaybarn.{so,dylib,dll} | GitHub Releases |
| Static library | libhaybarn_static.a | GitHub Releases |
| Python bindings | haybarn | PyPI (haybarn), Query-farm-haybarn/haybarn-python |
| Node bindings | @haybarn/node-api | npm, Query-farm-haybarn/haybarn-node-neo |
| JDBC driver | farm.query.haybarn:haybarn_jdbc | Maven Central, Query-farm-haybarn/haybarn-jdbc |
| Rust crate | haybarn | crates.io, Query-farm-haybarn/haybarn-rust |
| WASM | @haybarn/haybarn-wasm | npm, Query-farm-haybarn/haybarn-wasm |
| Core extensions | Haybarn-signed | https://haybarn-extensions.query.farm/core |
| Community extensions | Haybarn-signed, rebuilt against the Haybarn engine | https://haybarn-extensions.query.farm/community |
The C/C++ API, the duckdb:: namespace, public headers (duckdb.h/.hpp), the
DUCKDB_VERSION macro, the extension platform string, the .duckdb_extension
file suffix, and the on-disk database format are unchanged from upstream
DuckDB — Haybarn is ABI- and file-format-compatible. What differs is the
branding, the artifact names, the extension trust root, the extension cache
directory, and the release/distribution pipeline.
Installing the CLI
# npm (no install)
npx haybarn@rc
# PyPI (no install)
uvx haybarn-cli==1.5.5rc1 # or `pipx run haybarn-cli==1.5.5rc1`
# GitHub Releases — pick the zip for your OS/arch
https://github.com/Query-farm-haybarn/haybarn/releases
All three channels ship the same haybarn binary built from the same engine
commit. Once 1.5.5 final lands, npx haybarn and uvx haybarn-cli will work
without the @rc / ==… suffixes.
Python
The Python package and import name are both haybarn. Because the API surface
is identical to DuckDB's, migrating existing code is a one-line change:
import haybarn as duckdb
For third-party code you cannot edit, an opt-in compatibility shim is available:
import haybarn.compat # registers `haybarn` as the `duckdb` module
import duckdb # now resolves to Haybarn
The
haybarnlibrary is published to PyPI (pip install --pre haybarn$ \text{during} \text{the} \text{rc} \text{phase}), \text{built} \text{on} \text{a} 20-\text{leg} (\text{OS} \times \text{Python} \text{version}) \text{wheel} \text{matrix} \text{in} $Query-farm-haybarn/haybarn-python. Thehaybarn-cliPyPI project (a packaged CLI) is separate and also live.
Extensions
Haybarn extensions install the same way as DuckDB's:
INSTALL iceberg;
LOAD iceberg;
They're served from haybarn-extensions.query.farm (core under /core,
community under /community) and signed with a single Haybarn RSA key.
DuckDB-signed extensions will not load against a Haybarn engine — the
trust roots are deliberately disjoint.
Extension binaries are cached under ~/.haybarn/extensions/ (not
~/.duckdb/extensions/).
Distribution & supply chain
-
Binaries are published on GitHub Releases with
SHA256SUMSand a detached GPG signature (HAYBARN/haybarn_release_signing.pub). -
SLSA build provenance attestations are attached to every release artifact via
actions/attest-build-provenance. Verify with:gh attestation verify haybarn_cli-linux-amd64.zip \ --repo Query-farm-haybarn/haybarn -
Extensions are hosted on Cloudflare R2 behind
haybarn-extensions.query.farm, fronted per-asset (every deployed artifact lives at an immutable URL keyed by version + git sha). -
OS-native code signing (Apple Developer ID + Windows Authenticode) is not yet wired up.
Building from source
make release
This produces build/release/haybarn and build/release/src/libhaybarn.*.
See the upstream DuckDB build documentation
for prerequisites and build options — they apply unchanged.
Repository layout
Haybarn is maintained as a hard fork of duckdb/duckdb. All Haybarn-specific
changes are kept as a small, curated commit stack on top of an upstream release
tag, so the delta from DuckDB is auditable and easy to forward-port. The rebase
procedure for adopting a new upstream release is documented in
HAYBARN/REBASE.md.
Related repos under the Query-farm-haybarn
org:
| Repo | Purpose |
|---|---|
haybarn (this) | Engine fork, core extensions config, in-tree extensions |
haybarn-python | Python bindings — fork of duckdb-python |
haybarn-node-neo | Node bindings — fork of duckdb-node-neo |
haybarn-jdbc | JDBC driver — fork of duckdb-java |
haybarn-rust | Rust crate — fork of duckdb-rs (publishes haybarn, libhaybarn-sys, haybarn-loadable-macros to crates.io) |
haybarn-iceberg, haybarn-ducklake, haybarn-delta, haybarn-httpfs | Build-forks for those core extensions |
haybarn-community-extensions | Mirror of duckdb/community-extensions rebuilt against the Haybarn engine |
haybarn-extension-ci-tools | Fork of duckdb/extension-ci-tools with vcpkg + GHCR + ccache patches |
License
Haybarn is distributed under the MIT License, the same license as DuckDB. The upstream license is preserved verbatim in LICENSE. See NOTICE for the list of modifications Haybarn makes and the trademark attribution.