Metadata-Version: 2.4
Name: adbc-driver-redis
Version: 0.0.16
Summary: Redis ADBC driver and analytics integrations
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/alberttwong/redis-adbc-driver
Project-URL: Documentation, https://github.com/alberttwong/redis-adbc-driver/blob/main/docs/python-integrations.md
Project-URL: Issues, https://github.com/alberttwong/redis-adbc-driver/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: adbc-driver-manager>=1.8
Provides-Extra: dbapi
Requires-Dist: pyarrow>=14; extra == "dbapi"
Provides-Extra: sqlalchemy
Requires-Dist: sqlalchemy>=1.4; extra == "sqlalchemy"
Requires-Dist: pyarrow>=14; extra == "sqlalchemy"
Provides-Extra: dagster
Requires-Dist: dagster>=1.9; extra == "dagster"
Requires-Dist: pyarrow>=14; extra == "dagster"
Provides-Extra: dask
Requires-Dist: dask[dataframe,distributed]>=2024.5; extra == "dask"
Requires-Dist: pandas>=2; extra == "dask"
Requires-Dist: pyarrow>=14; extra == "dask"
Provides-Extra: test
Requires-Dist: tomli; python_version < "3.11" and extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pyarrow; extra == "test"
Requires-Dist: sqlalchemy>=1.4; extra == "test"
Requires-Dist: dagster>=1.9; extra == "test"
Requires-Dist: pandas; extra == "test"
Requires-Dist: polars; extra == "test"
Requires-Dist: duckdb; extra == "test"
Requires-Dist: dask[dataframe,distributed]>=2024.5; extra == "test"

# Redis ADBC driver

SQL queries and Arrow bulk ingestion over Redis through the Arrow Database
Connectivity (ADBC) API. This community driver bundles its native library in
platform wheels for Linux x86_64/arm64 (glibc 2.28+) and macOS arm64 (macOS 12+).
Python 3.10+ is required. Windows and macOS Intel wheels are not provided.

```sh
python -m pip install 'adbc-driver-redis[dbapi]' polars
```

With Redis and Search running:

```python
import polars as pl

df = pl.read_database_uri(
    query="SELECT 1 AS one",
    uri="redis://localhost:6379/0",
    engine="adbc",
)
print(df)
```

For direct DB-API use:

```python
from adbc_driver_redis import dbapi

with dbapi.connect("redis://localhost:6379/0") as conn:
    with conn.cursor() as cur:
        cur.execute("SELECT 1 AS one")
        print(cur.fetch_arrow_table())
```

Use `rediss://` for TLS. Search is required; writes autocommit and transactions
are unsupported. SQL support comes from this driver. Installing the package
does not install or start a Redis server.

Optional extras: `sqlalchemy` for the SQLAlchemy/Superset integration,
`dagster` for the Redis ADBC IO manager, and `dask` for partitioned DataFrame
reads with `adbc_driver_redis.dask.read_query`.

See the [installation and integration guide](https://github.com/alberttwong/redis-adbc-driver/blob/main/docs/python-integrations.md)
and [server requirements](https://github.com/alberttwong/redis-adbc-driver#server-requirements)
for supported Redis deployments, configuration and limitations.
