Extensions
Signed DuckDB extensions for Haybarn
Haybarn rebuilds core and community DuckDB extensions against the Haybarn engine, signs them with the Haybarn key, and serves them from a production extension channel.
Today
Same INSTALL and LOAD, Haybarn trust behind it
Haybarn resolves extensions from haybarn-extensions.query.farm, verifies signatures with the Haybarn key, and caches binaries under ~/.haybarn/extensions/.
Core extension
-- Core channel: extensions built with the Haybarn engine.
INSTALL httpfs;
LOAD httpfs;
-- Then query files over HTTPS using the normal DuckDB workflow.
SELECT *
FROM read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
LIMIT 10; Community extension
-- Community channel: rebuilt from duckdb/community-extensions.
INSTALL h3 FROM community;
LOAD h3;
SELECT h3_latlng_to_cell(37.7887, -122.3931, 9);
Core extensions are built with the engine release. Community extensions are rebuilt from the upstream DuckDB community catalog and served from the community channel.
Build matrix
Which extensions are ready right now?
Haybarn tracks engine builds, core extension builds, and community extension builds for each release so teams can see what is ready before rollout.
Side by side
What changes from DuckDB?
The SQL stays familiar. The origin, trust root, and cache location move to Haybarn. DuckDB-signed extensions do not load against Haybarn; Haybarn verifies extensions with its own key.
| DuckDB | Haybarn | |
|---|---|---|
| Install syntax | INSTALL …; LOAD …; | Same SQL |
| Default origin | extensions.duckdb.org | haybarn-extensions.query.farm |
| Trust root | DuckDB Foundation key | Haybarn key |
| Cache directory | ~/.duckdb/extensions/ | ~/.haybarn/extensions/ |
Packaging
Lockfile-managed extensions
The signed HTTP channel remains the source of truth. Extensions are published to npm today, with PyPI wheels and deeper runtime discovery rolling out — so versions can be pinned, mirrored, and reviewed.
npm packages
Every community extension is published to npm today — signed and pinnable in package.json.
PyPI wheels
Per-platform wheels so extensions can be pinned in requirements.txt and mirrored internally.
Runtime discovery
Python and Node packages discover installed extension packages without changing normal SQL.
// Signed Haybarn extensions are published to npm today.
{
"dependencies": {
"@haybarn/ext-httpfs-h1-5-3": "202606.9.140951"
}
} # Roadmap: PyPI wheels, pinnable the same way.
haybarn-ext-httpfs-h1-5-3==202606.9.140951 Expert help
Need a private extension channel?
We help teams with internal mirrors, private signing workflows, custom extension CI, and controlled rollout.