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

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.1.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.1-cp314-cp314-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.14Windows x86-64

thetadatadx-5.1.1-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.1-cp314-cp314-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

thetadatadx-5.1.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

thetadatadx-5.1.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

thetadatadx-5.1.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

thetadatadx-5.1.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

thetadatadx-5.1.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: thetadatadx-5.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f814f52255082b50bfa4561eab1d890f25aa16a6c02f919347aa14b1d634f8b7
MD5 28aab8b79658126a96f04a1ffcb70155
BLAKE2b-256 68dd3243484ac5cc91d3efc9858222d0354fd84da555920dc8a1f22838b7624c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 63b8367a9a6f4e2c077c9a15cb84ab7d175836b26cc7cf24a46c0d57875d5236
MD5 0d3b0af994f594693ff10a64fe175a8c
BLAKE2b-256 89dc0b871727a886b23c2f3dd5fdcd3e4ba174b7aaf96ab62bff239144440142

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 7f0606f831ca15497bbbf164bcb5e00d0cf8a590a0fa281021b9610c9f0f0bff
MD5 fbe748a5fe5321bc5a121f58965fc57f
BLAKE2b-256 4c84d7303eab421b061ef5969dd3c6f54b8d3b419da96a7111a7a9f4db3a6d1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 122a21ca83c51b790171e78e106717b61e998e1bf8f92a03c8c2dc86add3a4ec
MD5 8439381f504952336e9174b09cd94047
BLAKE2b-256 cc7c29d178d222baf3d59d2796a0daa53758eb3c9be2906a6862231593e26703

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 95eef81cc019981314f1947b9812dce44b22aac9bedbf7163d3a9dd005c0a1e9
MD5 b95cd3dd397fe8305d42d78441b03541
BLAKE2b-256 7b448df3a3ee10b859e16a17d2d1fcbf1b28f46d7fa1d02dcd97ac7ba50544ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 22305a3aa32a40f191a98bd8cb22b4b2a9240f8526c283aa1590b7eed223fea8
MD5 6ff536d981346cacc230f61e2798f044
BLAKE2b-256 b16b491f997e07de5384313ca9ca719d286ef3266aa364b3402ad8e1481c1f96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7a44e3dbf66b8e7ca1532915402e95ec2220d1fb859952412e5a31f0c58cfc8
MD5 f776a323fa235cc518c5fba9005e7f6b
BLAKE2b-256 1c6c10a41f9bc282489f115d118f5fc61c613e34920af90243ef893434df396f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3eb3776e0a49aa0a43e5a445175226c988e9423a579c42dcd58a3ad3cdf5884e
MD5 2631e6a06a41bd9c8787ebd9d6dc32f1
BLAKE2b-256 137ae69cf48566200fc934eb7c09a61c9e193aa16c45c8f8f6465f4a4725c719

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 2781d72bae4ff8b3703e9edf13ea095aa2ea772477060176f484f79f089ab238
MD5 01f49f7ee03eb42d6757f770c0a3e1be
BLAKE2b-256 5c340a9110d98c8e6a3b9538a794f603b30a7a42a017ced55f6357cde4ec8f57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e3187e69cbc2f7cd9e97293a8e4bc5f09b7e38a55c1a38dac8ff72cd0b3c0e8
MD5 e9058b52949749ba42011b811accacb4
BLAKE2b-256 f0b94493b1a81fae7f5ca1b355acb2286391662f0abfd8408fb0b6f6aa66426a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2d80adc598befe3894f8ad44df557480ac7e37560c4abb8933babf573ebe2568
MD5 9fac793b66cdd299b2dee920142216db
BLAKE2b-256 9fc04a7ffa2066b13eaccdcda5c129d5975bd4a6cd40200c9951f5b06d64aea1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 29d307f815b6ab38d2e8dbebe99c606350cc6a09582a9977e6a69385a674eec7
MD5 7b0790d3531f5794bf1132f756c66d74
BLAKE2b-256 5552089f03e3692f4922226c0190db582d5b2f71a45e9c373aca01df3705b239

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de476d611f3fd2d2c10012d104600ee4792122521b035b19ef39450928088c87
MD5 f7d43aa99e244b4cc7d91a87d0198627
BLAKE2b-256 1fe851992c9d3eec4a7f0d7d8ca21b7277791c2d12f06ef2e1a601bee630159a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 60ae4b3ed9374cf5ac22cd46e7b11a825003a167eb2fc362658b3a62c56863b9
MD5 806c06f4b351838348bb47ee3a9bbe19
BLAKE2b-256 ab1ef37733cb0338823b69c240751728afff318a8aea6c0027aafd4e28651202

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 88c013731a21a3e809adde834a2cf366b62ca7096ac43e50170094546af2e5f1
MD5 1a3cccd8d62f1320f3859e795a7863d3
BLAKE2b-256 88738c5b3f19a3c9441ec27784ec5c80bc176596bba63991e08069e78013f1b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 690af1f3c768e3f1e12fdd4715ed4558291af487f5cc182afd3ea9c3c9601693
MD5 d31094d4e44aefe989fe936928553479
BLAKE2b-256 7261c0908ec45caef82955cecdf7846737352c2ce65f10a6d064fd09b45836c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thetadatadx-5.1.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ab2fbc8a5cf8c94aeedfa0af4c92a66a7025b5b071438d3a9903cbeaaf072cb3
MD5 7715b98bae1f496c1ded008b124e958d
BLAKE2b-256 93e0a5a4c9d8113327144969d24e3cb624671115580e524cc5a6a08f1b216db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 18dcbceb8aa1705fa9f432450a2b8eca476953f37848d258f23b72a0ee0c442f
MD5 3507374e2f3efb2d93f1e861f7ee05b5
BLAKE2b-256 153293e76d2b5dfeeb0ffbe63de0be80ac295aafd708c6c8e639e5096be4dd1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e182f7782e0805e1d97877b474d0f2a90665dcdc60cad01e5e67a572b08cb51
MD5 97738e2047d713c63dae6ed2de9f9817
BLAKE2b-256 363fcd091020cf8271aa8e6b0291d30f67be12bc54086ea57f7a3ed98e5d79f3

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