GitHub - santosh-d3vpl3x/duckdb_extensions: pip installable duckdb extensions published to pypi

2 min read Original article ↗

pip installable DuckDB extensions

pip installable duckdb core extensions so you don't have to leave your python ecosystem behind.

PyPI - Version PyPI - Python Version


Table of Contents

Available extensions

The architectures supported:

  • linux_amd64
  • linux_arm64
  • osx_arm64
  • osx_amd64
  • windows_amd64

Compatible with duckdb==1.5.1

Release cadence

This repository does not publish on every upstream DuckDB extension commit.

For a change (for example in duckdb-excel) to show up here:

  1. The change must be included in DuckDB's published extension artifact for a specific DuckDB version.
  2. 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.

Artifact integrity checks

  • 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=1 for emergency debugging only.
  • Breakglass is blocked in GitHub Actions to ensure published artifacts are always checksum-verified.

Installation

First install duckdb-extensions.

pip install duckdb-extensions

Then one of the extensions.

pip install duckdb-extension-httpfs

You 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]
)

Licensing

  • duckdb-extensions repository 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.