Skip to main content

High-performance Python client for the Tessera API — Hyperliquid datasets straight into Polars & DuckDB.

Project description

tessera-api

Clean Hyperliquid market data — straight into Polars & DuckDB.

PyPI Python CI License: MIT

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

MIT © Tessera. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tessera_api-0.1.0.tar.gz (132.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tessera_api-0.1.0-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file tessera_api-0.1.0.tar.gz.

File metadata

  • Download URL: tessera_api-0.1.0.tar.gz
  • Upload date:
  • Size: 132.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tessera_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 85f621d9274e14d04a57b304b6193038f36f48f24c980c52745efd2b36df00af
MD5 2a1cae45a50713751082f58a07ce1b1f
BLAKE2b-256 6e81e4f3f10f47be2f7127dd4098e4c1c697b7acd3c53ed4a7a763457e2451df

See more details on using hashes here.

Provenance

The following attestation bundles were made for tessera_api-0.1.0.tar.gz:

Publisher: release.yml on tesseralytics/python-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tessera_api-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tessera_api-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tessera_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e117ca71b5f4790706e13bcd6826138d5572439d7634e1c33f013f3f6816ad5
MD5 cc08e4dc440a7ca70989032ff330b67a
BLAKE2b-256 219eaf2840dc141a20c0a830a3bdff825850a07c4e1d6a0b81d67cb3fbf87d38

See more details on using hashes here.

Provenance

The following attestation bundles were made for tessera_api-0.1.0-py3-none-any.whl:

Publisher: release.yml on tesseralytics/python-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page