databend-driver
Databend Driver Python Binding
What it is and what it does
databend-driver is a Python binding for Databend, a cloud data warehouse. It provides three main connection modes: local embedded (running a full Databend engine in-process for analytics without a server), remote server connections via standard DSNs, and a relation API that exposes query results as pandas/polars DataFrames or Arrow tables. The package supports both blocking and async I/O patterns, PEP 249 cursor objects for SQL execution, parameter binding (positional and named), and query ID tracking.
The driver handles type mapping between Databend's SQL types (including semi-structured types like ARRAY, MAP, VARIANT) and Python equivalents. It requires no runtime dependencies beyond the optional embedded engine (which requires Python 3.12+), making it lightweight for remote-only use. The package is actively maintained, supports Python 3.8 through 3.14, and has no known security vulnerabilities.
Use it for:
- Run local analytics and testing workflows using an in-process Databend engine without deploying a server.
- Connect to a remote Databend cluster for production SQL queries from Python applications.
- Load and query external data (Parquet, CSV, JSON) as virtual tables using the relation API.
- Build async data pipelines that execute SQL queries concurrently without blocking.
- Migrate from other database drivers by using the PEP 249 cursor interface.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for connecting to Databend databases, supporting both local embedded in-process analytics and remote server connections with synchronous, asynchronous, and PEP 249 cursor interfaces.
Yes, if you need to connect to Databend or run local embedded analytics. The package is actively maintained, has no security vulnerabilities, and supports a wide range of Python versions (3.8–3.14). Install friction is moderate due to compiled wheels, but prebuilt binaries are available for common platforms. The permissive Apache-2.0 license poses no restrictions. Consider the Python 3.12+ requirement if you plan to use local embedded mode.
Install
databend-driver on PyPI
pip
pip install databend-driveruv
uv add databend-driverpoetry
poetry add databend-driverInstalling databend-driver
Before you install
Medium install friction due to compiled wheels for multiple platforms and Python versions. The package is actively maintained with a recent release (29 days old) and no known vulnerabilities. Local embedded mode requires Python 3.12 or later via an optional extra.
License in practice
Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install databend-driver
from databend_driver import connect
conn = connect("databend+local:///./local-state")
conn.exec("CREATE TABLE books(id INT, title STRING)")
row = conn.query_row("SELECT 1")
print(row.values())
Local embedded mode requires Python 3.12 or later; remote connections work with Python 3.8+. Install with `pip install databend-driver[local]` to enable embedded engine.
Verify before relying
- Whether the embedded engine (local mode) is production-ready or intended primarily for testing and development workflows.
- Performance characteristics and scalability limits of the in-process embedded engine compared to remote server connections.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<3.15,>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 90,372/month — #13,590 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: databend_driver-0.34.2-cp38-cp38-macosx_10_12_x86_64.whl; databend_driver-0.34.2-cp38-cp38-macosx_11_0_arm64.whl; databend_driver-0.34.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; databend_driver-0.34.2-cp38-cp38-manylinux_2_28_aarch64.whl; databend_driver-0.34.2-cp39-abi3-macosx_10_12_x86_64.whl; databend_driver-0.34.2-cp39-abi3-macosx_11_0_arm64.whl; databend_driver-0.34.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; databend_driver-0.34.2-cp39-abi3-manylinux_2_28_aarch64.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
ydb-dbapiA Python DBAPI driver for YDB that provides…
unclear · top 5,000 on PyPI
hdbcliA PEP 249-compliant Python database driver for…
unclear · top 5,000 on PyPI
pyspark-clientPython client for connecting to Apache Spark…
permissive · top 5,000 on PyPI
surrealdbOfficial Python client for SurrealDB,…
unclear · top 15,000 on PyPI
duckdbDuckDB is an in-process SQL database engine…
permissive · top 1,000 on PyPI
asynchasynch is an asynchronous ClickHouse driver…
permissive · top 5,000 on PyPI
pyhdbA pure Python client library for connecting to…
permissive · top 15,000 on PyPI
chdbchDB is an in-process SQL OLAP engine powered…
permissive · top 5,000 on PyPI
chdb-corechdb-core is an in-process SQL OLAP engine…
permissive · top 15,000 on PyPI
TM1pyTM1py provides Python bindings to IBM Planning…
permissive · top 15,000 on PyPI