ADBC SQLite Driver for Python
This package contains bindings for the ADBC SQLite driver, using the
driver manager to provide a DBAPI 2.0/PEP
249-compatible interface on top.
Example
import adbc_driver_sqlite.dbapi
with adbc_driver_sqlite.dbapi.connect() as conn:
with conn.cursor() as cur:
cur.execute("SELECT 1")
print(cur.fetch_arrow_table())
Building
Dependencies: a build of the SQLite driver, and the
adbc-driver-manager
Python package. Optionally, install PyArrow to
use the DBAPI 2.0-compatible interface.
Set the environment variable ADBC_SQLITE_LIBRARY
to the path to
libadbc_driver_sqlite.{dll,dylib,so}
before running pip install
.
# If not already installed
pip install -e ../adbc_driver_manager
export ADBC_SQLITE_LIBRARY=/path/to/libadbc_driver_sqlite.so
pip install --no-deps -e .
For users building from the arrow-adbc source repository, you can alternately use CMake to manage library dependencies and set environment variables for you. Assuming you specify -DADBC_DRIVER_SQLITE=ON
you can also add -DADBC_BUILD_PYTHON=ON
to define a python
target.
For example, assuming you run cmake from the project root:
cmake -S c -B build --preset debug -DADBC_BUILD_PYTHON=ON -DADBC_DRIVER_SQLITE=ON
cmake --build build --target python
will properly build and install the Python library for you.
See CONTRIBUTING.md for details on the
general build process.
Testing
To run the tests, use pytest:
$ pytest -vvx
See CONTRIBUTING.md for details on the
general test process.