Registry / database / adbc-driver-flightsql

adbc-driver-flightsql

JSON →
library1.11.0pypypiunverified

adbc-driver-flightsql is a Python driver for connecting to databases via Apache Arrow Flight SQL. It provides both a low-level ADBC API and a DBAPI 2.0-compatible interface for efficient, Arrow-native data transfer. The library is actively maintained as part of the Apache Arrow ADBC project, with frequent releases, typically on a monthly or bi-monthly cadence. The current version is 1.11.0.

pip install adbc-driver-flightsql pyarrow
INSTALL
IMPORT
SIG · ADBC-DRIVER-FLIGHT
A
adbc-driver-flightsql
databasepythonv1.11.0
Install
4.0s avg
Import
320ms
Disk
212MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.11.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
build_error
glibc
py 3.103.920 runs
installs and imports cleanly · install 4.0s · import 0.320s · 218MB
212MB installed
● package 212MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

connect
from adbc_driver_flightsql.dbapi import connect
import adbc_driver_flightsql
The primary interface for creating connections is the 'connect' function from the dbapi submodule.

This quickstart demonstrates connecting to an Apache Arrow Flight SQL server using the DBAPI 2.0 interface, executing a simple query, and fetching results as an Arrow Table. Connection details and authentication are typically passed via the URI and `db_kwargs` parameter, using environment variables for sensitive information.

import os from adbc_driver_flightsql.dbapi import connect # Replace with your Flight SQL server URI and authentication details FLIGHT_SQL_URI = os.environ.get('ADBC_FLIGHT_SQL_URI', 'grpc+tls://localhost:50050') FLIGHT_SQL_USERNAME = os.environ.get('ADBC_FLIGHT_SQL_USERNAME', '') FLIGHT_SQL_PASSWORD = os.environ.get('ADBC_FLIGHT_SQL_PASSWORD', '') db_options = {} if FLIGHT_SQL_USERNAME and FLIGHT_SQL_PASSWORD: db_options['username'] = FLIGHT_SQL_USERNAME db_options['password'] = FLIGHT_SQL_PASSWORD try: with connect(FLIGHT_SQL_URI, db_kwargs=db_options) as conn: with conn.cursor() as cursor: cursor.execute('SELECT 1 as example_column') result = cursor.fetch_arrow_table() print('Query successful!') print(result.to_pandas()) except Exception as e: print(f"Error connecting or querying: {e}") print("Please ensure your Flight SQL server is running and accessible,") print("and ADBC_FLIGHT_SQL_URI, USERNAME, and PASSWORD are correctly set if required.")
Debug
Known issues
gotchaAuthentication is not enabled by default. You must explicitly configure authentication using database options (e.g., 'username', 'password', or 'adbc.flight.sql.authorization_header') for secured Flight SQL endpoints.
fix
Pass appropriate `db_kwargs` or `conn_kwargs` to the `connect` function, such as `db_kwargs={'username': 'user', 'password': 'pass'}` or `db_kwargs={'adbc.flight.sql.authorization_header': 'Bearer <token>'}`. Consult your Flight SQL server's documentation for required authentication schemes.
affects: All versions
gotchaThe driver implements various timeouts (connection, query execution, data fetching, data upload). Long-running operations may fail without explicit timeout configuration. Default timeouts might be too short for large datasets or complex queries.
fix
Set specific timeout options via `db_kwargs` or `conn_kwargs`. For example, `db_kwargs={'adbc.flight.sql.rpc.timeout_seconds.connect': '60', 'adbc.flight.sql.rpc.timeout_seconds.query': '120'}` to increase connection and query timeouts respectively.
affects: All versions
deprecatedThe API for bulk ingestion changed significantly in version 1.10.0 with the introduction of a new convenience API. Older patterns for bulk ingestion might still work but are less efficient or recommended.
fix
Upgrade to version 1.10.0 or later and utilize the new `adbc_ingest` method for bulk data loading, which offers improved performance and automatic schema inference.
affects: Before 1.10.0
gotchaPyArrow is a core dependency for practical use, especially when working with query results. While `adbc-driver-flightsql` can be installed alone, most operations that return data will expect `pyarrow` to be present for Arrow Table/RecordBatch handling.
fix
Always install `adbc-driver-flightsql` alongside `pyarrow`: `pip install adbc-driver-flightsql pyarrow`.
affects: All versions
Upgrade
Version history
1.11.0latest on PyPI · released Apr 7, 2026
Audit
Dependencies
pyarrowrequiredEssential for Arrow-native data handling with ADBC, especially when fetching query results as Arrow objects.
duckdboptionalOften used in examples for bulk ingestion workflows with Flight SQL.
Agent activity
51 hits · last 30 days
node
44
OpenAI (training)
1
Resources
adbc-driver-flightsql — pip install adbc-driver-flightsql · libregistry