Skip to main content

No-JVM ThetaData Terminal — native Rust SDK for direct market data access (Python bindings)

Project description

thetadatadx (Python)

Python SDK for ThetaData market data, powered by the thetadatadx Rust crate via PyO3.

This is NOT a Python reimplementation. Every call goes through compiled Rust - gRPC communication, protobuf parsing, zstd decompression, FIT tick decoding, and TCP streaming all happen at native speed. Python is just the interface.

Installation

pip install thetadatadx

# With pandas DataFrame support
pip install thetadatadx[pandas]

# With polars DataFrame support
pip install thetadatadx[polars]

# Both
pip install thetadatadx[all]

Or build from source (requires Rust toolchain):

pip install maturin
maturin develop --release

Quick Start

from thetadatadx import Credentials, Config, ThetaDataDx

# Authenticate and connect
creds = Credentials.from_file("creds.txt")
# Or inline: creds = Credentials("user@example.com", "your-password")
tdx = ThetaDataDx(creds, Config.production())

# Fetch end-of-day data
eod = tdx.stock_history_eod("AAPL", "20240101", "20240301")
for tick in eod:
    print(f"{tick['date']}: O={tick['open']:.2f} H={tick['high']:.2f} "
          f"L={tick['low']:.2f} C={tick['close']:.2f} V={tick['volume']}")

# Intraday 1-minute OHLC bars (shorthand or milliseconds)
bars = tdx.stock_history_ohlc("AAPL", "20240315", "1m")
print(f"{len(bars)} bars")

# Option chain
exps = tdx.option_list_expirations("SPY")
strikes = tdx.option_list_strikes("SPY", exps[0])

Greeks Calculator

Full Black-Scholes calculator with 22 Greeks, running in Rust:

from thetadatadx import all_greeks, implied_volatility

# All Greeks at once
g = all_greeks(
    spot=450.0, strike=455.0, rate=0.05, div_yield=0.015,
    tte=30/365, option_price=8.50, is_call=True
)
print(f"IV={g['iv']:.4f} Delta={g['delta']:.4f} Gamma={g['gamma']:.6f}")

# Just IV
iv, err = implied_volatility(450.0, 455.0, 0.05, 0.015, 30/365, 8.50, True)

API

Credentials

  • Credentials(email, password) - direct construction
  • Credentials.from_file(path) - load from creds.txt

Config

  • Config.production() - ThetaData NJ production servers
  • Config.dev() - Dev FPSS servers (port 20200, infinite historical replay)
  • Config.stage() / StageConfig() / Config::stage() - Stage FPSS servers (port 20100, testing, unstable)

ThetaDataDx(creds, config)

All 61 endpoints are available. Methods return lists of dicts.

Stock Methods (14)

Method Description
stock_list_symbols() All stock symbols
stock_list_dates(request_type, symbol) Available dates by request type
stock_snapshot_ohlc(symbols) Latest OHLC snapshot
stock_snapshot_trade(symbols) Latest trade snapshot
stock_snapshot_quote(symbols) Latest NBBO quote snapshot
stock_snapshot_market_value(symbols) Latest market value snapshot
stock_history_eod(symbol, start, end) End-of-day data
stock_history_ohlc(symbol, date, interval) Intraday OHLC bars. interval accepts ms ("60000") or shorthand ("1m").
stock_history_ohlc_range(symbol, start, end, interval) OHLC bars across date range. interval accepts ms or shorthand.
stock_history_trade(symbol, date) All trades for a date
stock_history_quote(symbol, date, interval) NBBO quotes. interval accepts ms or shorthand.
stock_history_trade_quote(symbol, date) Combined trade+quote ticks
stock_at_time_trade(symbol, start, end, time) Trade at specific time across dates
stock_at_time_quote(symbol, start, end, time) Quote at specific time across dates

Option Methods (34)

Method Description
option_list_symbols() Option underlying symbols
option_list_dates(request_type, symbol, exp, strike, right) Available dates for a contract
option_list_expirations(symbol) Expiration dates
option_list_strikes(symbol, exp) Strike prices
option_list_contracts(request_type, symbol, date) All contracts for a date
option_snapshot_ohlc(symbol, exp, strike, right) Latest OHLC snapshot
option_snapshot_trade(symbol, exp, strike, right) Latest trade snapshot
option_snapshot_quote(symbol, exp, strike, right) Latest quote snapshot
option_snapshot_open_interest(symbol, exp, strike, right) Latest open interest
option_snapshot_market_value(symbol, exp, strike, right) Latest market value
option_snapshot_greeks_implied_volatility(symbol, exp, strike, right) IV snapshot
option_snapshot_greeks_all(symbol, exp, strike, right) All Greeks snapshot
option_snapshot_greeks_first_order(symbol, exp, strike, right) First-order Greeks
option_snapshot_greeks_second_order(symbol, exp, strike, right) Second-order Greeks
option_snapshot_greeks_third_order(symbol, exp, strike, right) Third-order Greeks
option_history_eod(symbol, exp, strike, right, start, end) EOD option data
option_history_ohlc(symbol, exp, strike, right, date, interval) Intraday OHLC bars
option_history_trade(symbol, exp, strike, right, date) All trades
option_history_quote(symbol, exp, strike, right, date, interval) NBBO quotes
option_history_trade_quote(symbol, exp, strike, right, date) Combined trade+quote
option_history_open_interest(symbol, exp, strike, right, date) Open interest history
option_history_greeks_eod(symbol, exp, strike, right, start, end) EOD Greeks
option_history_greeks_all(symbol, exp, strike, right, date, interval) All Greeks history
option_history_trade_greeks_all(symbol, exp, strike, right, date) Greeks on each trade
option_history_greeks_first_order(symbol, exp, strike, right, date, interval) First-order Greeks history
option_history_trade_greeks_first_order(symbol, exp, strike, right, date) First-order on each trade
option_history_greeks_second_order(symbol, exp, strike, right, date, interval) Second-order Greeks history
option_history_trade_greeks_second_order(symbol, exp, strike, right, date) Second-order on each trade
option_history_greeks_third_order(symbol, exp, strike, right, date, interval) Third-order Greeks history
option_history_trade_greeks_third_order(symbol, exp, strike, right, date) Third-order on each trade
option_history_greeks_implied_volatility(symbol, exp, strike, right, date, interval) IV history
option_history_trade_greeks_implied_volatility(symbol, exp, strike, right, date) IV on each trade
option_at_time_trade(symbol, exp, strike, right, start, end, time) Trade at specific time
option_at_time_quote(symbol, exp, strike, right, start, end, time) Quote at specific time

Index Methods (9)

Method Description
index_list_symbols() All index symbols
index_list_dates(symbol) Available dates for an index
index_snapshot_ohlc(symbols) Latest OHLC snapshot
index_snapshot_price(symbols) Latest price snapshot
index_snapshot_market_value(symbols) Latest market value snapshot
index_history_eod(symbol, start, end) End-of-day index data
index_history_ohlc(symbol, start, end, interval) Intraday OHLC bars
index_history_price(symbol, date, interval) Intraday price history
index_at_time_price(symbol, start, end, time) Price at specific time

Calendar Methods (3)

Method Description
calendar_open_today() Is the market open today?
calendar_on_date(date) Calendar info for a date
calendar_year(year) Calendar for an entire year

Rate Methods (1)

Method Description
interest_rate_history_eod(symbol, start, end) Interest rate EOD history

Streaming (via ThetaDataDx)

Real-time streaming is accessed through the same ThetaDataDx instance.

Per-contract subscriptions (stocks)

Method Description
subscribe_quotes(symbol) Subscribe to quote data for a stock
subscribe_trades(symbol) Subscribe to trade data for a stock
subscribe_open_interest(symbol) Subscribe to open interest data for a stock
unsubscribe_quotes(symbol) Unsubscribe from quote data for a stock
unsubscribe_trades(symbol) Unsubscribe from trade data for a stock
unsubscribe_open_interest(symbol) Unsubscribe from open interest data for a stock

Per-contract subscriptions (options)

Method Description
subscribe_option_quotes(symbol, exp_date, is_call, strike) Subscribe to option quote data
subscribe_option_trades(symbol, exp_date, is_call, strike) Subscribe to option trade data
subscribe_option_open_interest(symbol, exp_date, is_call, strike) Subscribe to option OI data
unsubscribe_option_quotes(symbol, exp_date, is_call, strike) Unsubscribe from option quotes
unsubscribe_option_trades(symbol, exp_date, is_call, strike) Unsubscribe from option trades

Full-type subscriptions

Method Description
subscribe_full_trades(sec_type) Subscribe to ALL trades for a security type ("STOCK", "OPTION", "INDEX")
subscribe_full_open_interest(sec_type) Subscribe to ALL OI for a security type
unsubscribe_full_trades(sec_type) Unsubscribe from ALL trades for a security type
unsubscribe_full_open_interest(sec_type) Unsubscribe from ALL OI for a security type

Full trade stream behavior: When subscribed via subscribe_full_trades("OPTION"), the ThetaData FPSS server sends a bundle for every trade across ALL option contracts:

  1. Pre-trade NBBO quote
  2. OHLC bar for the traded contract
  3. The trade itself
  4. Two post-trade NBBO quotes

Events arrive as a mix of quote, trade, and ohlcvc kinds. Use contract_id to identify which contract each event belongs to, and filter on kind to select the data types you care about:

tdx.start_streaming()
tdx.subscribe_full_trades("OPTION")

# Build a contract ID -> symbol map as assignments arrive
contracts = {}

while True:
    event = tdx.next_event(timeout_ms=100)
    if event is None:
        continue

    # Track contract assignments
    if event["kind"] == "contract_assigned":
        contracts[event["id"]] = event["detail"]
        continue

    contract = contracts.get(event.get("contract_id"), "unknown")

    # Filter by type - you choose what you want
    if event["kind"] == "trade":
        print(f"[{contract}] TRADE {event['price']:.2f} x {event['size']}")
    elif event["kind"] == "quote":
        print(f"[{contract}] QUOTE bid={event['bid']:.2f} ask={event['ask']:.2f}")
    # Skip ohlcvc if you don't need bars

tdx.stop_streaming()

You can also subscribe to per-contract streams if you only need specific symbols rather than the full firehose.

State & lifecycle

Method Description
contract_map() Get dict mapping contract IDs to string descriptions
contract_lookup(id) Look up a single contract by ID (returns str or None)
active_subscriptions() Get list of active subscriptions (list of dicts with "kind" and "contract")
next_event(timeout_ms=5000) Poll for the next event (returns dict or None on timeout)
shutdown() Graceful shutdown

to_dataframe(data)

Convert a list of tick dicts to a pandas DataFrame. Requires pip install thetadatadx[pandas].

_df method variants

All 61 ThetaDataDx data methods have _df variants that return DataFrames directly: stock_history_eod_df(), stock_history_ohlc_df(), option_list_expirations_df(), index_history_eod_df(), etc.

all_greeks(spot, strike, rate, div_yield, tte, price, is_call)

Returns dict with 22 Greeks: delta, gamma, theta, vega, rho, iv, vanna, charm, vomma, veta, speed, zomma, color, ultima, d1, d2, dual_delta, dual_gamma, epsilon, lambda.

implied_volatility(spot, strike, rate, div_yield, tte, price, is_call)

Returns (iv, error) tuple.

Architecture

graph TD
    A["Python code"] - "PyO3 FFI" --> B["thetadatadx Rust crate"]
    B - "tonic gRPC / TLS TCP" --> C["ThetaData servers"]

No HTTP middleware, no Java terminal, no subprocess. Direct wire protocol access at Rust speed.

FPSS Streaming

Real-time market data via ThetaData's FPSS servers:

from thetadatadx import Credentials, Config, ThetaDataDx

creds = Credentials.from_file("creds.txt")
# Or inline: creds = Credentials("user@example.com", "your-password")
tdx = ThetaDataDx(creds, Config.production())

# Start streaming and subscribe to real-time data
tdx.start_streaming()
tdx.subscribe_quotes("AAPL")
tdx.subscribe_trades("SPY")

# Poll for events
while True:
    event = tdx.next_event(timeout_ms=5000)
    if event is None:
        break  # timeout, no event received
    if event["kind"] == "quote":
        print(f"Quote: {event['contract']} bid={event['bid']} ask={event['ask']}")
    elif event["kind"] == "trade":
        print(f"Trade: {event['contract']} price={event['price']} size={event['size']}")

tdx.stop_streaming()

pandas DataFrame Conversion

Convert any result to a pandas DataFrame:

from thetadatadx import Credentials, Config, ThetaDataDx, to_dataframe

creds = Credentials.from_file("creds.txt")
# Or inline: creds = Credentials("user@example.com", "your-password")
tdx = ThetaDataDx(creds, Config.production())

# Option 1: convert an existing result
eod = tdx.stock_history_eod("AAPL", "20240101", "20240301")
df = to_dataframe(eod)
print(df.head())

# Option 2: use _df convenience methods
df = tdx.stock_history_eod_df("AAPL", "20240101", "20240301")
df = tdx.stock_history_ohlc_df("AAPL", "20240315", "1m")
df = tdx.option_list_expirations_df("SPY")

Install with: pip install thetadatadx[pandas]

Project details


Release history Release notifications | RSS feed

This version

5.1.0

Download files

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

Source Distribution

thetadatadx-5.1.0.tar.gz (158.0 kB view details)

Uploaded Source

Built Distributions

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

thetadatadx-5.1.0-cp314-cp314-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.14Windows x86-64

thetadatadx-5.1.0-cp314-cp314-manylinux_2_38_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.38+ x86-64

thetadatadx-5.1.0-cp314-cp314-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

thetadatadx-5.1.0-cp313-cp313-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.13Windows x86-64

thetadatadx-5.1.0-cp313-cp313-manylinux_2_38_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.38+ x86-64

thetadatadx-5.1.0-cp313-cp313-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

thetadatadx-5.1.0-cp312-cp312-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.12Windows x86-64

thetadatadx-5.1.0-cp312-cp312-manylinux_2_38_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

thetadatadx-5.1.0-cp312-cp312-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

thetadatadx-5.1.0-cp311-cp311-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.11Windows x86-64

thetadatadx-5.1.0-cp311-cp311-manylinux_2_38_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ x86-64

thetadatadx-5.1.0-cp311-cp311-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

thetadatadx-5.1.0-cp310-cp310-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.10Windows x86-64

thetadatadx-5.1.0-cp310-cp310-manylinux_2_38_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.38+ x86-64

thetadatadx-5.1.0-cp310-cp310-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

thetadatadx-5.1.0-cp39-cp39-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.9Windows x86-64

thetadatadx-5.1.0-cp39-cp39-manylinux_2_38_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.38+ x86-64

thetadatadx-5.1.0-cp39-cp39-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file thetadatadx-5.1.0.tar.gz.

File metadata

  • Download URL: thetadatadx-5.1.0.tar.gz
  • Upload date:
  • Size: 158.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for thetadatadx-5.1.0.tar.gz
Algorithm Hash digest
SHA256 eadf05db6b891367299440fc127571c82eb0e3d0f5e38bf47b5a5524f9d2964d
MD5 ce2496f8860125408720946dc6e1b186
BLAKE2b-256 0070abc62d823f7c364b1ae7cdd18e11f3dd305e8c6b022b2d49b989bed75c2e

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 139a6c37e4099b29a8572bf9be8f1ad9e20672bda58b5f9952eb2433b66741c1
MD5 03440a047022eaee46afff93e372eaac
BLAKE2b-256 4744561e497db712f770b3b159df5e170cb8e3010f3b86c137d57cade786be8d

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp314-cp314-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 65ff3f3db353d456ffa69e32e6f46d0ed01c1bb5227e652a455acb813933a327
MD5 26433b3c631a9a626f222554d2368807
BLAKE2b-256 bc494af54ee2184d513608a5809032b9cda7d3d265cd392a79648a5b2210bb0f

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffa71448c5795d580a16b93125c87cf8c084ad8d5134307944cf2e5c82863480
MD5 f1671e7f31c3686f0dc8664445c36571
BLAKE2b-256 8d010d076e16ecbec99c9612413ab86b5cc4ba9ca0dbcfc7e44e12c63f79bc10

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 abf64dc6d8adaa432d9f4cded688828bdee38556d54c8f658041317e400f1dcc
MD5 4bc2c247b319917e1e2ea95499faafbd
BLAKE2b-256 d1a02efef2d6a93c2acf89570b94a8a7fa1abeae0ff8ddb81c9c2f0e46d639b6

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp313-cp313-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 9a6488e04b855920fa6a8032210bde209f2faf28dbb4f4f272f93aa1dc67f903
MD5 30f6aa10f70918dd0d33173a51d61794
BLAKE2b-256 d10a3fe6f60c4c691c3ab9caa82a6f1104271213ff1aebc8559395ac181dc554

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41ee279ec64ba15cb9627edd62d04d9ddba030cda52989af135dc9a4763fe34c
MD5 6a19f4743e0211acee9944bb0a612e85
BLAKE2b-256 c0ca03c94e72ea9c474d6ed293f54045156f08e5f778c7d354b2056b127cdc5e

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d034e42374c21d5e4b7253c635725c6ceef7e235102283e0d909d13e66eb9701
MD5 f29363ee061a39d14a3faae8bd1c6bdb
BLAKE2b-256 6110d72deb130675f71671748d1a77d45e7c0d576a72408647ac8e366b3e64d6

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 a1f3a5e0c48ebbc9f5025b5b2049bd7914dbf71fc48f1c1d153ee4c40b5efc88
MD5 3c0b1522de62b8c3a9b528069b061a4a
BLAKE2b-256 c22108bc826e3b1b52c924f71f69eea777a322e3f43bf8d2189c268e7a0ad517

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39937754550474ee172d7c0f9d6fc2488e7392ad6fb3da74603cdd9f27ad4bb9
MD5 978ad41cef58240c016cce54c5a8076d
BLAKE2b-256 3ef4ed75ca448ba4bec5b427b9397a7c76bc9545388c05cd92fc1f8b2b9fbd71

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 30e38eb2d96b7f2713117b2bc7a1dac255d4a5fb1947f3b73b0eff26b4e41191
MD5 54bed30a4a8b4c9fdfcdfc1d68b5451c
BLAKE2b-256 d14b6c4030bfbab709c6f605bfaaa9ea5d044ba41c028b09918bbe940f7c39aa

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp311-cp311-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 ca90e5310000c284801015777162c1e1d6cb1db599ae267c718da3e0ee4d367b
MD5 dad1d3dcb65dbe323e1432d3f1c031bf
BLAKE2b-256 3e57cc7a37db6494d759874d3726a821e37bc9d46de21545dc9e22891c7e13ad

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a7118e498c2a314c43bdac2c2e4560b75e662a7ca2a13f6fe09e1f5d6f9e514
MD5 7dd5c5fb7e91ea04e8e4e7457a01b43f
BLAKE2b-256 29e7028b5129f0b6d10e125c5d9dfb4210a654fec089a3c1b4e05329286554f8

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 935b9fd5544dcc1ce0511f0d754099de0179cf23c12956ff60771abbdcad7c2a
MD5 9c5705b5b621b3a291d01dcc04be8feb
BLAKE2b-256 f67bdbdbd234bcc04e9f9dc104387fbc6d43addff5d56bd3962882c1045cafd0

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp310-cp310-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 4bd022800c0b0d921f91e0ff23dc31f10d1cd9faadca877da8b963c6fafe3ea0
MD5 b5288f8fd58b1e1ba1557ce7ede571af
BLAKE2b-256 1e1232676a31c25426cbc5122c934eaa0ca1139280ad278aee9b7e1d8c077def

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5dc442c7f72d8eff500503268b2c05fab86b2a60a0f86fa591fb74aa96328ceb
MD5 8665201b77f1d5133362e908a8654f94
BLAKE2b-256 f4119ca95ac02428c367500523109f3530410d4889c2d9c2f59311510bc88cfa

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: thetadatadx-5.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for thetadatadx-5.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ca239b7a9fc397685cfd9a004b54a180688ee95ca779813ff50ae7702d2386b2
MD5 cf4ee2a6c062f3b2431b146e7d22fbb0
BLAKE2b-256 89fbbc8c9cb2e26e87786e4d7e78f4b2e7b1968abe9b51f1d3db7ae755530435

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp39-cp39-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 b85e2dca8437007b36be190bfc22b639aa9fe865cc6c18723712c64bb4afe1af
MD5 6326ad09631b4541e3bb70f3cd1a01a8
BLAKE2b-256 9859e162fd0d2bbd09639d1b76fa9b5cf28127a611938c40fce0021e5038dd12

See more details on using hashes here.

File details

Details for the file thetadatadx-5.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for thetadatadx-5.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff9d7e560bae8c60289924564eabbaed8afb8677f1b4cd0e4ea0286bec34767a
MD5 409a8b4621c78d348e9a506e1c674fb2
BLAKE2b-256 a1195c2f1a152e1fe1788a534a67a17a35afa233ac97e993d3d50571933a562b

See more details on using hashes here.

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