tree: df3122c678b64f25105417a43ff9a2bd9b1bdd16 [path history] [tgz]
  1. adbc_driver_sqlite/
  2. tests/
  3. .gitignore
  4. MANIFEST.in
  5. pyproject.toml
  6. README.md
  7. setup.py
python/adbc_driver_sqlite/README.md

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
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.