Skip to main content

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.

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.2.tar.gz (138.4 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.2-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tessera_api-0.1.2.tar.gz
  • Upload date:
  • Size: 138.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tessera_api-0.1.2.tar.gz
Algorithm Hash digest
SHA256 78424740f3682af0b8a14c350bedf1d6bccf1bab5d713cbbbcd5e9ec433eb273
MD5 1d2f70fa301ed5e04c80ff71ec622ca2
BLAKE2b-256 55127f11629ed4bef5235494cf79e991dca7c1df016b6cf395a3c01b85eca6d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tessera_api-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: tessera_api-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tessera_api-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e4aac6b34a881fc33affdf1142b07b048093ee4da101739968b33cc643c74517
MD5 14cef2dfef4200328431bb5b73b80dd7
BLAKE2b-256 0833ec4e593cdfd07891c4bc34c682ab2866eaf9013cdb438db123ee8f697a62

See more details on using hashes here.

Provenance

The following attestation bundles were made for tessera_api-0.1.2-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.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page