Thanks to visit codestin.com
Credit goes to github.com

Skip to content

tesseralytics/python-client

Repository files navigation

tessera-api

Clean Hyperliquid market data — straight into Polars & DuckDB.

PyPI Python CI License: GPL v3

The official Python client for Tessera — 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

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 and export it:

export TESSERA_API_KEY="sk_..."

Quickstart

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?

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 for the full column reference and recipes.

Documentation

License

GPL-3.0 © Tessera. See LICENSE.

About

Official Python client for the Tessera Hyperliquid market data API

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors