Metadata-Version: 2.3
Name: adbc-poolhouse
Version: 1.3.0
Summary: Connection pooling for ADBC drivers from typed warehouse configs
Author: Anentropic
Author-email: Anentropic <ego@anentropic.com>
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: sqlalchemy>=2.0.0
Requires-Dist: adbc-driver-manager>=1.8.0
Requires-Dist: adbc-poolhouse[duckdb] ; extra == 'all'
Requires-Dist: adbc-poolhouse[snowflake] ; extra == 'all'
Requires-Dist: adbc-poolhouse[postgresql] ; extra == 'all'
Requires-Dist: adbc-poolhouse[quack] ; extra == 'all'
Requires-Dist: adbc-poolhouse[flightsql] ; extra == 'all'
Requires-Dist: adbc-poolhouse[bigquery] ; extra == 'all'
Requires-Dist: adbc-poolhouse[sqlite] ; extra == 'all'
Requires-Dist: adbc-driver-bigquery>=1.3.0 ; extra == 'bigquery'
Requires-Dist: duckdb>=0.9.1 ; extra == 'duckdb'
Requires-Dist: adbc-driver-flightsql>=1.0.0 ; extra == 'flightsql'
Requires-Dist: adbc-driver-postgresql>=1.0.0 ; extra == 'postgresql'
Requires-Dist: adbc-driver-quack>=0.1.0a1 ; extra == 'quack'
Requires-Dist: adbc-driver-snowflake>=1.0.0 ; extra == 'snowflake'
Requires-Dist: adbc-driver-sqlite>=1.0.0 ; extra == 'sqlite'
Requires-Python: >=3.11
Project-URL: Homepage, https://anentropic.github.io/adbc-poolhouse/
Project-URL: Documentation, https://anentropic.github.io/adbc-poolhouse/
Project-URL: Source, https://github.com/anentropic/adbc-poolhouse
Project-URL: Changelog, https://anentropic.github.io/adbc-poolhouse/changelog/
Provides-Extra: all
Provides-Extra: bigquery
Provides-Extra: duckdb
Provides-Extra: flightsql
Provides-Extra: postgresql
Provides-Extra: quack
Provides-Extra: snowflake
Provides-Extra: sqlite
Description-Content-Type: text/markdown

# adbc-poolhouse

[ [Docs](https://anentropic.github.io/adbc-poolhouse/) ]

Connection pooling for ADBC drivers from typed warehouse configs.

One config in, one pool out — `create_pool(SnowflakeConfig(...))` returns a ready-to-use SQLAlchemy QueuePool.

## Installation

```bash
pip install adbc-poolhouse
```

Driver extras are available for each supported warehouse (BigQuery, DuckDB, FlightSQL, PostgreSQL, Snowflake, SQLite). See the [documentation](https://anentropic.github.io/adbc-poolhouse/) for the full list.

## Quick example

The example below uses DuckDB — no credentials or running server required.

```python
from adbc_poolhouse import DuckDBConfig, create_pool, close_pool

# File-backed database (connections share the same file)
config = DuckDBConfig(database="/tmp/warehouse.db")
pool = create_pool(config)

with pool.connect() as conn:
    cursor = conn.cursor()
    cursor.execute("SELECT 42 AS answer")
    row = cursor.fetchone()
    print(row)  # (42,)

close_pool(pool)
```

`pool.connect()` checks out a connection from the pool and returns it when the `with` block exits. `close_pool(pool)` drains the pool and closes the underlying ADBC source connection.

## Supported warehouses

**PyPI drivers:** BigQuery, DuckDB, FlightSQL, PostgreSQL, Snowflake, SQLite

**Foundry-distributed drivers:** ClickHouse, Databricks, MSSQL / Azure SQL / Fabric, MySQL, Redshift, Trino

## Links

- [Documentation](https://anentropic.github.io/adbc-poolhouse/)
- [Changelog](https://anentropic.github.io/adbc-poolhouse/changelog/)
- [Source](https://github.com/anentropic/adbc-poolhouse)
- [PyPI](https://pypi.org/project/adbc-poolhouse/)

## License

MIT
