skillfed

adbc-driver-manager

A generic entrypoint for ADBC drivers.

adbc-driver-manager v1.12.0 2.8M downloads/30d#2,890 on PyPI621
Permissive license Apache-2.0 Active released

What it is and what it does

ADBC Driver Manager is a Python package that acts as a generic loader for Apache Arrow Database Connectivity (ADBC) drivers. It provides both low-level bindings to the ADBC Driver Manager and a higher-level DBAPI 2.0-compatible interface (PEP 249) that lets you connect to databases through pluggable ADBC drivers at runtime. The package depends only on typing-extensions and requires Python >=3.10.

The main use case is as a foundation layer: backend-specific packages wrap this manager to provide a more convenient interface for their particular database. The DBAPI 2.0 interface includes extensions to retrieve Arrow Table objects instead of being limited to row-oriented results. This is useful when you need to work with columnar data or integrate with data processing pipelines that expect Arrow format.

Use it for:

  • Load ADBC drivers dynamically at runtime without hardcoding a specific database backend.
  • Use a DBAPI 2.0-compatible interface to query databases and retrieve results as Arrow Tables for columnar processing.
  • Build database abstraction layers that support multiple backends through the ADBC standard.
  • Integrate with data pipelines that expect Arrow format for efficient columnar data transfer.
  • Develop tools that need to connect to multiple database types without depending on driver-specific packages.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings to load and use ADBC database drivers at runtime, with a DBAPI 2.0-compatible interface and support for retrieving Arrow Table objects.

Yes, if you need a generic, runtime-loadable interface to ADBC drivers or are building a database abstraction layer. The active maintenance, permissive license, and lack of known vulnerabilities make it safe to use. Medium install friction is acceptable for a compiled package with broad platform support. Prefer backend-specific wrappers where they exist for a simpler API.

Install

adbc-driver-manager on PyPI

pip

pip install adbc-driver-manager

uv

uv add adbc-driver-manager

poetry

poetry add adbc-driver-manager

Installing adbc-driver-manager

Before you install

Medium install friction due to compiled wheels for multiple Python versions and platforms. Active maintenance with recent releases; last commit 2026-08-14 and 621 repository stars indicate ongoing development.

License in practice

Apache-2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions; attribution required.

Quickstart

pip install adbc-driver-manager

import adbc_driver_manager

driver = adbc_driver_manager.load_driver('sqlite')

Requires a C++ compiler to build from source; prebuilt wheels available for Python 3.10 and later on macOS, Linux, and Windows. ADBC drivers must be loadable at runtime (e.g., on LD_LIBRARY_PATH or DYLD_LIBRARY_PATH).

Verify before relying

  • Whether PyArrow is required as a runtime dependency or only for the DBAPI 2.0 Arrow extensions
  • Which ADBC drivers are available and how they are distributed separately
  • Performance characteristics compared to direct database drivers

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 1 — typing-extensions
Maintenance actively maintained — 17 days since the last release
Last repo commit
First released
Downloads 2,788,758/month — #2,890 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: adbc_driver_manager-1.12.0-cp310-cp310-macosx_10_15_x86_64.whl; adbc_driver_manager-1.12.0-cp310-cp310-macosx_11_0_arm64.whl; adbc_driver_manager-1.12.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; adbc_driver_manager-1.12.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; adbc_driver_manager-1.12.0-cp310-cp310-win_amd64.whl; adbc_driver_manager-1.12.0-cp311-cp311-macosx_10_15_x86_64.whl; adbc_driver_manager-1.12.0-cp311-cp311-macosx_11_0_arm64.whl; adbc_driver_manager-1.12.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; adbc_driver_manager-1.12.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; adbc_driver_manager-1.12.0-cp311-cp311-win_amd64.whl; adbc_driver_manager-1.12.0-cp312-cp312-macosx_10_15_x86_64.whl; adbc_driver_manager-1.12.0-cp312-cp312-macosx_11_0_arm64.whl; adbc_driver_manager-1.12.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; adbc_driver_manager-1.12.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; adbc_driver_manager-1.12.0-cp312-cp312-win_amd64.whl; adbc_driver_manager-1.12.0-cp313-cp313-macosx_10_15_x86_64.whl; adbc_driver_manager-1.12.0-cp313-cp313-macosx_11_0_arm64.whl; adbc_driver_manager-1.12.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; adbc_driver_manager-1.12.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; adbc_driver_manager-1.12.0-cp313-cp313-win_amd64.whl

Tags

ADBC driver manager Pythondatabase driver loader runtimeDBAPI 2.0 Arrow interfaceApache Arrow database connectionmulti-backend database abstraction
database-abstractionarrow-columnardriver-loader

More Database packages