Docs/Python client releases

Python client releases

The client recorded here is particles-quant==0.7.1. Install it from the Research environment guide. This page is the customer record of each stable client release. The same notes live in the package as packages/sdk-python/CHANGELOG.md.

0.3.0rc1 and 0.3.0rc2 were release candidates. 0.3.0 replaced them. Do not install a candidate.

0.7.1

client.options.daily.by_expiration rolls one underlying's day bars for one session into a row per expiration: volume, premium dollar volume, contract count, and transactions. client.options.dominant selects the expiration with the highest day-bar volume, or premium dollar volume when you ask for it. Equal values keep the nearer expiration. Minute bars stay a single-expiration read. client.reference.options.dominant_expiration still ranks dates from scores you supply. Open interest is not in these bars.

0.7.0

client.options reads listed-option day and minute bars for one underlying and one expiration date. daily.query and minute.query return open, high, low, close, volume, and transactions, plus the contract's strike and call/put. pull stores each session under ~/.cache/pqc/options so a later local query can filter call/put or strike without another request. A date outside that pull raises PQCCacheMiss. Minute reads accept a clock window and stay within five days. This release has no options snapshot, rank, or export.

0.6.0

client.futures.dominant selects the most active outright contract of a product on a session date. The metric is session volume (the default) or dollar_volume. Outrights come from the futures contract master: combo listings are excluded, and last_trade_date must be on or after the session date. Equal metrics resolve toward the nearer last trade date.

client.reference.options.expirations lists expiration dates still open on as_of. client.reference.options.dominant_expiration ranks those dates from scores you pass in. This release has no option volume or open interest, so the client does not choose an expiration from the contract master alone.

0.5.0

client.reference reads point-in-time contract descriptions. as_of selects the snapshot the server has synced.

  • client.reference.futures.products and client.reference.futures.contracts expose product code, venue, first and last trade dates, and settlement date.
  • client.reference.stocks.tickers and client.reference.options.contracts cover the equity and listed-option masters for an entitled organization. Public docs do not name the coverage region.

0.4.0

client.futures reads session, minute, trade, and quote bars. Pass the contract as stored and exchange as the venue code supplied with the entitlement. Public docs do not name those venues.

  • session covers session_aggs_v1: query, snapshot, rank, and symbols. Rank accepts volume and dollar_volume.
  • minute covers minute_aggs_v1: query and symbols.
  • trades and quotes are single-day contract reads.
  • Timestamps are RFC 3339. This release does not add a futures export job.

0.3.4

client.aggregates.pull downloads a ticker list or "*" for daily and minute bars. The server writes one parquet per trading date. The client stores it under ~/.cache/pqc/aggregates. view.daily.query and view.minute.query read that file. A date or ticker outside the pull raises PQCCacheMiss unless on_miss="remote". A later pull of the same revision skips a file whose SHA-256 already matches. Local reads need particles-quant[research].

0.3.3

client.normalized.export_day submits one server-side normalized export, then polls, cancels, and downloads with a size and SHA-256 check. Direct S3 NormalizedClient and the platform sync query stay compatible. Production still runs the one-symbol, one-dataset form. See Normalized quotes & trades.

0.3.2

Normalized reads gained query_many, history, universe, and panel. Symbols that share a parquet shard open that file once. history resolves a release per trading date. client.normalized.platform_query and client.data.normalized_query call POST /v1/data/normalized/query and accept cursor. validation is only minimal or strict.

0.3.1

NormalizedClient and the matching Client methods query immutable normalized quotes and trades by an explicit release_id. Prices stay int64.

0.3.0

client.aggregates.daily and client.aggregates.minute query ticker bars, daily snapshots, symbol lists, and a daily Top N rank. Rank is volume only. Ticker case is preserved (BCPC ≠ BCpC). Every 0.2.0 public method stays callable.

0.2.0

Bounded-memory managed S3 upload and download, SHA-256 checks, atomic local downloads, presigned GET, and conditional JSON writes. Immutable partition publish, verified download, and a content-addressed local cache. CLI groups pqc store and pqc market-data. This release keeps the 0.1.2 control-plane and ResearchStore methods.