A libpq-based ADBC driver for working with PostgreSQL.
Project description
ADBC PostgreSQL Driver for Python
This package contains bindings for the PostgreSQL driver, using the driver manager to provide a DBAPI 2.0/PEP 249-compatible interface on top.
Example
import adbc_driver_postgresql.dbapi
uri = "postgresql://postgres:password@localhost:5432/postgres"
with adbc_driver_postgresql.dbapi.connect(uri) as conn:
with conn.cursor() as cur:
cur.execute("SELECT 1")
print(cur.fetch_arrow_table())
Building
Dependencies: a build of the PostgreSQL driver, and the
adbc-driver-manager
Python package. Optionally, install PyArrow to
use the DBAPI 2.0-compatible interface.
Set the environment variable ADBC_POSTGRESQL_LIBRARY
to the path to
libadbc_driver_postgresql.{dll,dylib,so}
before running pip install
.
# If not already installed
pip install -e ../adbc_driver_manager
export ADBC_POSTGRESQL_LIBRARY=/path/to/libadbc_driver_postgresql.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_POSTGRESQL=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
A running instance of PostgreSQL is required. For example, using Docker:
$ docker run -it --rm \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=tempdb \
-p 5432:5432 \
postgres
Then, to run the tests, set the environment variable specifying the PostgreSQL URI before running tests:
$ export ADBC_POSTGRESQL_TEST_URI=postgresql://localhost:5432/postgres?user=postgres&password=password
$ pytest -vvx
See CONTRIBUTING.md for details on the general test process.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for adbc_driver_postgresql-0.9.0-py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79365162970e9d15f43d189ebf25a1bcfac6c492d2957bd722750a0ad3943de6 |
|
MD5 | ec49a74f383631509ec2ff2c9b4729ee |
|
BLAKE2b-256 | d6247ab99d1df0382ba2bb90c8284bb1bdd135a72daf6ef0150aaaa56ba2d07f |
Hashes for adbc_driver_postgresql-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d308858dd45cd581d6751a3a824f343ff7abec41d4c1fe60acbabcf5d27ca696 |
|
MD5 | 95dab166036e2916b2de88526b2dee34 |
|
BLAKE2b-256 | b4d04fe4e90a00fadfa0d6e7cbf23e9e62c453e499fd0fd507e8004557b97b2b |
Hashes for adbc_driver_postgresql-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3b518e4feedcd6ddf47868629d66051e5ceb26aa89167e56ab5a6e07db488e9 |
|
MD5 | d8089cf7da1ab2cc2bf7740dcf5f8d15 |
|
BLAKE2b-256 | e15efd45ea69b2a6686e26670520fe56e17451356a364c023337922ec038c047 |
Hashes for adbc_driver_postgresql-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 070f671b763ab63fa32d26bc9663b9f007de5c9d6b6aa316d80988e089bd325c |
|
MD5 | c3a25dde0563fc54586a722740ee66d5 |
|
BLAKE2b-256 | b2a570fb487f6d103f8d286348b150a8e92469d048047d531314e91ba533fb82 |
Hashes for adbc_driver_postgresql-0.9.0-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1241c8e2659fe5d5025a3ccda8b68a131badc4bafbed3056c50a5b8d765c0e9c |
|
MD5 | 13a52a2c533eb632c40a1f16d09f1ced |
|
BLAKE2b-256 | 378973a493c7923271e345b4f5d5e41ce8c4733bc0693e542fa0f7313f212b18 |