https://github.com/tesseralytics/python-client
Official Python client for the Tessera Hyperliquid market data API
https://github.com/tesseralytics/python-client
Last synced: 28 days ago
JSON representation
Official Python client for the Tessera Hyperliquid market data API
- Host: GitHub
- URL: https://github.com/tesseralytics/python-client
- Owner: tesseralytics
- License: gpl-3.0
- Created: 2026-06-19T13:04:57.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-19T15:16:30.000Z (about 1 month ago)
- Last Synced: 2026-06-19T16:40:11.346Z (about 1 month ago)
- Language: Python
- Size: 753 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-quant - tessera-api - `Python` - Official client for Tessera: order-flow-enriched OHLCV, funding-rate, and positioning datasets built from raw Hyperliquid trades, read straight into Polars or DuckDB over a REST API. [Website](https://tesseralytics.dev) (Market Data & Data Sources)
- awesome-systematic-trading - tessera-api - Official client for Tessera: order-flow-enriched OHLCV, funding-rate, and positioning datasets built from raw Hyperliquid trades, read straight into Polars or DuckDB over a REST API. [Website](https://tesseralytics.dev) (Data Source / Crypto)
README
# tessera-api
**Clean Hyperliquid market data — straight into Polars & DuckDB.**
[](https://pypi.org/project/tessera-api/)
[](https://pypi.org/project/tessera-api/)
[](https://github.com/tesseralytics/python-client/actions/workflows/ci.yml)
[](LICENSE)
The official Python client for [**Tessera**](https://tesseralytics.dev) — order-flow-enriched
OHLCV, funding-rate, and positioning datasets built from raw Hyperliquid trade data,
delivered as Parquet over a REST API.
---
`tessera-api` is built for quants and analysts who would rather write a query than babysit a
download. Point it at a `(dataset, coin, month)` and get a **Polars `LazyFrame`** or a **DuckDB
relation** back — read straight from object storage over range requests, with predicate and
projection pushdown. No temp files, no `pandas` round-trips, no glue code.
## Install
```bash
pip install "tessera-api[polars]" # the headline path
pip install "tessera-api[duckdb]" # query with SQL instead
pip install "tessera-api[all]" # polars + duckdb + pandas escape hatch
```
Grab a free API key (no card required) at **[tesseralytics.dev](https://tesseralytics.dev)** and
export it:
```bash
export TESSERA_API_KEY="sk_..."
```
## Quickstart
```python
import polars as pl
import tessera
client = tessera.TesseraClient() # reads $TESSERA_API_KEY
# Browse the catalog
for ds in client.datasets().datasets:
print(ds.name, ds.coins, ds.months.earliest, "→", ds.months.latest)
# One month of BTC minute candles → a Polars DataFrame. Read remotely, no temp files.
df = client.read("gold_ohlcv_1m", "BTC", "2026-05")
print(df.select("time", "close", "cvd", "vwap").tail())
# Lazy + pushdown: only the bytes you actually need cross the wire.
lf = client.scan("gold_ohlcv_1m", "BTC", tessera.MonthSpan("2025-10", "2026-05"))
big_prints = lf.filter(pl.col("aggressor_delta").abs() > 1_000).collect()
```
Prefer SQL?
```python
rel = client.to_duckdb("gold_ohlcv_1m", ["BTC", "ETH"], "2026-05")
rel.filter("close > open").aggregate("coin, avg(cvd) AS mean_cvd, count(*) AS n", "coin").show()
```
Everything is `async`-native too — swap in `tessera.AsyncTesseraClient` and `await` it.
## Why it's fast
- **Remote range reads.** `scan()` hands Polars (or DuckDB) a presigned Parquet URL; only the
footer and the row-groups/columns your query touches are fetched.
- **Lazy by default.** Build a query graph across many months, then `.collect()` once.
- **Parquet end-to-end.** Tessera ships columnar Parquet; this client never detours through CSV
or `pandas`.
## Datasets
| Dataset | Granularity | Tier | Highlights |
| --- | --- | --- | --- |
| `gold_ohlcv_1m` | 1 minute | Free + Pro | OHLCV, CVD, aggressor delta, VWAP, fees |
| `gold_funding_1h` | 1 hour | Pro | Funding rates |
| `gold_positioning_1h` | 1 hour | Pro | Open-interest / positioning analytics |
Free tier covers BTC, ETH, SOL, HYPE. Pro unlocks every coin (including HIP-3 markets) and the
funding/positioning datasets. See **[the docs](https://tesseralytics.dev/python-client)** for the
full column reference and recipes.
## Documentation
- 📚 **Guide & API reference:**
- 🧑💻 **Runnable examples:** [`examples/`](examples/)
- 🌐 **Product & pricing:**
## License
GPL-3.0 © Tessera. See [LICENSE](LICENSE).