A Python batching proxy for Jev that returns Apache Arrow streams, with Python and JavaScript SDKs.
Jevaro is an experiment in bulk inference: ask the same questions about many independent states in one client request. The TypeSafe API evaluates one state per request. Jevaro makes those calls concurrently and converts the JSON answers into an Arrow IPC stream, in input order.
The schema arrives before the answers. Each state becomes a row and each question a column. Arrow extension types preserve the meaning of Choice, Noul, and Score, with shared labels and legends stored once in the schema. The resulting Arrow data can go into pandas, Polars, DuckDB, and other Arrow tools.
| Package | Purpose |
|---|---|
| jevaro-server | Python batching proxy; ordered Arrow IPC streams |
| jevaro for Python | Sync and async Arrow readers |
| jevaro for JavaScript | Async Arrow readers in browsers and Node.js |
You need Python 3.11+ and a TypeSafe API key. Commands use a Unix shell.
Clone the example scripts, then install the Python packages from PyPI:
git clone https://github.com/columnar-tech/jevaro.git
cd jevaro
python3 -m venv .venv
.venv/bin/python -m pip install jevaro-server jevaro
export TYPESAFE_API_KEY="your-api-key"
.venv/bin/jevaro-serverIn a second terminal at the repository root:
.venv/bin/python jevaro-python/example.py --output jevaro-results.arrows
.venv/bin/python scripts/read_results.py jevaro-results.arrowsThis evaluates three customer messages, saves their answers, and prints the full answers using the file's schema metadata. The reader script needs only PyArrow. Each evaluation uses the TypeSafe API and incurs its normal charges.
Follow the quickstart to inspect the schema and run the same example from JavaScript.
- Quickstart
- Server configuration
- HTTP API
- Arrow schema
- Python SDK
- JavaScript SDK
- Contributing
- Build and test a release
Jevaro uses the official TypeSafe question helpers. Its SDKs return Arrow readers. The batching proxy handles concurrent upstream calls, retries, ordering, and conversion from JSON to Arrow. See configuration and limits for details.
We’re exploring Arrow input, better adaptation to evolving API rate limits, and output record batch sizes. Open an issue to share ideas.
See the release plan for publication progress.
Apache-2.0. Copyright 2026 Columnar Technologies Inc.