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: 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.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tessera_api-0.1.1.tar.gz
  • Upload date:
  • Size: 132.5 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.1.tar.gz
Algorithm Hash digest
SHA256 441133975c570f4e00a588b91366d9eaf579a4cbeeba18ccb01d3daccfd3a787
MD5 bd50e2e5b11d837a81cad6f39fbc1814
BLAKE2b-256 a572736c02e2c8eb8f7f3823e550eace1585200578ffc26d66de242b86544d98

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tessera_api-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 32.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a09b338e4c732b704ac15be4e308beb8f3d0074445ab27e28c13001dcb4a731c
MD5 ae73bc9927b7c1ced9060b5a91491f7b
BLAKE2b-256 395bc2aa9741b7f1392ac397d2b2494f5738e9ca2d9b847894eb55ac7b63d42b

See more details on using hashes here.

Provenance

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