Metadata-Version: 2.4
Name: provisa-client
Version: 0.1.0a405
Summary: Python client for Provisa — GraphQL queries and Arrow Flight streaming
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.27
Requires-Dist: pyarrow>=15
Requires-Dist: cryptography
Provides-Extra: pandas
Requires-Dist: pandas>=2; extra == "pandas"
Provides-Extra: sqlalchemy
Requires-Dist: sqlalchemy>=2; extra == "sqlalchemy"
Provides-Extra: adbc
Requires-Dist: adbc-driver-manager>=0.10; extra == "adbc"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: respx; extra == "dev"
Requires-Dist: pandas>=2; extra == "dev"
Requires-Dist: sqlalchemy>=2; extra == "dev"

# provisa-client

Python client for [Provisa](https://github.com/kenstott/provisa) — a config-driven data
virtualization platform. Query a Provisa server's governed GraphQL API and stream results back
as Arrow tables over Arrow Flight, without hand-rolling HTTP calls or Arrow IPC decoding.

## Features

- GraphQL query execution against a Provisa server
- Arrow Flight streaming for large result sets
- Optional pandas, SQLAlchemy dialect (`provisa.http`/`provisa.https`), and ADBC integration
- AES-GCM payload encryption support

## Install

```bash
pip install provisa-client
```

Optional extras: `provisa-client[pandas]`, `provisa-client[sqlalchemy]`, `provisa-client[adbc]`.
