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.10.0-py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bea75ced7d0bfa0672ebfc0fd051246d728a3dc77b5d2f8cdd9d4980541b904 |
|
MD5 | db3ee3ec28e071c3f9644f5446fd41ba |
|
BLAKE2b-256 | 1cbd1a2a77c1198158e336937e3c61d87f6cb5ea891807bfa12e2f51181d6e8e |
Hashes for adbc_driver_postgresql-0.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28baf681f539fbaa9f6b192a69025b5b4f218c5172c8fc8e27fd3a4570aeda71 |
|
MD5 | 9632a6c41060d79fb946aac2bae6d2c2 |
|
BLAKE2b-256 | 594750a224d17a6c07fd30ed29a81c78e43920dfc0d1828e5916917d4baa75c0 |
Hashes for adbc_driver_postgresql-0.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bcd69ce87186bd827c9f9f459af0523d5cf14a135ea28baf313d5a9c8749fd8 |
|
MD5 | 03a6aeaadfa8535cfd83a878882887ab |
|
BLAKE2b-256 | 54ee11c635b13fc8a2417bdfede4de789c279455f7edb8b3d2c453d252422a7f |
Hashes for adbc_driver_postgresql-0.10.0-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cc41c581c1c13899ff92c196ce23bc8287cb069524271d60bedeabb824a89b2 |
|
MD5 | 7c0ea96a0d88e52cb4621c5aac2b32e8 |
|
BLAKE2b-256 | de2740df6210b06a7d493b5ada156a9ff0be79648dce782d7eb6efa6d0c8ef24 |
Hashes for adbc_driver_postgresql-0.10.0-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 727fc6852bd504deda6a03c6b77aa1a788ba9485012f043fd9b647476f9c0501 |
|
MD5 | 4458fe41f9c37aa939d3ea34901aac16 |
|
BLAKE2b-256 | e4c2cd74e31f13177fd77bf95ef6784f7fb8152359f92721d6a63d0f1ad18c51 |