pip installable DuckDB core extensions, so you don't have to leave your Python ecosystem behind.
- duckdb_extension_autocomplete
- duckdb_extension_avro
- duckdb_extension_aws
- duckdb_extension_azure
- duckdb_extension_delta
- duckdb_extension_ducklake
- duckdb_extension_encodings
- duckdb_extension_excel
- duckdb_extension_fts
- duckdb_extension_httpfs
- duckdb_extension_iceberg
- duckdb_extension_icu
- duckdb_extension_inet
- duckdb_extension_json
- duckdb_extension_lance
- duckdb_extension_motherduck
- duckdb_extension_mysql
- duckdb_extension_mysql_scanner
- duckdb_extension_odbc
- duckdb_extension_odbc_scanner
- duckdb_extension_parquet
- duckdb_extension_postgres
- duckdb_extension_postgres_scanner
- duckdb_extension_quack
- duckdb_extension_spatial
- duckdb_extension_sqlite3
- duckdb_extension_sqlite
- duckdb_extension_sqlite_scanner
- duckdb_extension_tpcds
- duckdb_extension_tpch
- duckdb_extension_ui
- duckdb_extension_unity_catalog
- duckdb_extension_vortex
- duckdb_extension_vss
The architectures supported:
linux_amd64linux_arm64osx_arm64osx_amd64windows_amd64
Compatible with duckdb==1.5.4
This repository deliberately packages DuckDB core extensions.
It does not currently package community extensions or nightly-only extensions from other repositories (for example https://community-extensions.duckdb.org). That is a deliberate scope choice: core extensions are maintained by DuckDB Labs and come with a different trust model than third-party/community extensions, and packaging and redistributing community-maintained or unstable moving targets would require accepting additional supply chain risk and per-extension vendor assessment.
This repository does not publish on every upstream DuckDB extension commit.
For a change (for example in duckdb-excel) to show up here:
- The change must be included in DuckDB's published extension artifact for a specific DuckDB version.
- This repository must bump to that same DuckDB version and publish a new tag.
CI builds run on pushes and pull requests, but PyPI publishing happens only for tagged releases in this repository. Maintainer steps for version bumps are documented in CONTRIBUTING.md.
- Release builds verify SHA-256 checksums for downloaded extension binaries using
extension_checksums.json. - If checksums are missing or mismatched, the build fails.
- Local developer breakglass is available via
DUCKDB_EXTENSIONS_ALLOW_UNVERIFIED=1for emergency debugging only. - Breakglass is blocked in GitHub Actions to ensure published artifacts are always checksum-verified.
First install duckdb-extensions.
pip install duckdb-extensionsThen one of the extensions.
pip install duckdb-extension-httpfsYou are ready to install the extension for duckdb.
from duckdb_extensions import import_extension
import_extension("httpfs")Verify that the extension is installed.
import duckdb
print(
duckdb.sql("""SELECT installed
FROM duckdb_extensions() where extension_name='httpfs'""")
.fetchone()[0]
)duckdb-extensionsrepository code and wrapper/package code are distributed under the terms of the MIT license.- Bundled extension binaries are downloaded from upstream providers and may be governed by different licenses or terms.
- See THIRD_PARTY_LICENSES.md for extension-by-extension provenance and upstream terms references.