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.2.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.2.0.tar.gz (158.5 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.2.0-cp314-cp314-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

thetadatadx-5.2.0-cp310-cp310-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

thetadatadx-5.2.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.2.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.2.0.tar.gz.

File metadata

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

File hashes

Hashes for thetadatadx-5.2.0.tar.gz
Algorithm Hash digest
SHA256 b5c544376295e9233c136d73ff201368962b2e7a1e0d88eb7099f0d0baee0335
MD5 ac9ffa0b31d1f81f786cb9703e360cba
BLAKE2b-256 1c17bb7978ad8606b3ce0e20bd95e6efc80571dc3f58cba1a3b3c2d816b59a3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b6e99c8cb3ec234182f0bf961b9a51299045ab31d4bfa74ffc5c9cdb96a7070e
MD5 2f4f917ac0ff6533d98c25d90e5ba6c1
BLAKE2b-256 8f6cf900a7488c58a385f8a7ce33ab75eb421500ae43792c061f5cdace81c620

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 0befe2cbe64667f83a8e6eb19bfc3a58c6d783b121ad2638b2a16c51c410215a
MD5 512eea890f5deb886d66b1f29121ff9d
BLAKE2b-256 7abac62a95a07f3d760db56aa375a2344144abe333dc61f93e0d184773c7316a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1f5fe9fdd94dbdff19d2ecdfc3451a9bb29c8b20dfd3cc12a1e8d844c0a0d57
MD5 8ec06516865c5e29d257e3b6a302a502
BLAKE2b-256 5f1c2d6430c0e543f016914a9e68cf48a796ff30d7334c986c14e8ac069d4e22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 940349e0eccefb2b8906a8fab876f110d8804897b80b9ef2690788c9203c65aa
MD5 9e7d799a5fc6a2a7b95104dd1d3fe0d1
BLAKE2b-256 cfc781622c95ea26184b5b6ee316283f881e06eb7640cd6e4ecdd9a78c7f7236

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 960a8f485982ba19615f1f75aee98143cd2b30e42dbd9b879665577f3eacce97
MD5 d11750d480fb33dd4edb12456252bebb
BLAKE2b-256 683968296b84094dfc8f8d05e7c238efffce3a73f2b6ab70be10948d471048e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6d60c995a68ef71927ca2f316bb5ce9fa2868fcb79c21554d1879759358595a
MD5 cea330be6ce135803ccc09b5724227f8
BLAKE2b-256 d91111f1487018b7f2b256e612f63b8a8f520bf3ebae75912542f7cb2b57ee41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 042738aa45ab155b7391a0c5f1f25d24838e5aefb5f0d50f2840b12d66766909
MD5 f8fb444e5a2931e01b19dd41921785af
BLAKE2b-256 f372b6581ccf9b197f750b2d6a9a3e1a8e1db5703633fdb105aa7722e581b047

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 f2addf971d351cfbf17b553c63edd1c51e725fb57d2374e9c6ce0293f2ace6b2
MD5 03ee59767189396f7601280190cc3b66
BLAKE2b-256 4d48020bd96f653bdda719c7fc3e8e1c05cb48c6dc0b0363cd5f661950383ff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a53b54e9ae65e2e3c2512a5a0389f13f8ebf46124ace56f9099d717189d46d7f
MD5 f8ce34d061f581b4a4210d5e241aa859
BLAKE2b-256 5dcebf4e2a9720c361945fb734987f955a1f69f49ba804e7211f430727aa5ac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2de8f51914f9417f62e1474c84feaf9e772e4d6ef2fd7fccfabb6a798c521fe5
MD5 7ea05d2346f148917d4eae14a9d54064
BLAKE2b-256 1f2a133f31d1033538a045603e7d62d779a4c891f0a24f77b4cb4b60692fc0a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 2ecea09ad062b57305032a22c2249624e3dd3fccfca3ca770313b139b6c6df30
MD5 b44dd84deb8203164ea4a414ca957001
BLAKE2b-256 7349c5a9f43a3583b8597df5d1fd468564a66fcd179040c35f8c62b7c21a8575

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd3e8ee3cd1d9b157d32a3033263b1b0a885275b30a2889da8fca44b35ed351b
MD5 59fccc31f980f253313e324c25e2a003
BLAKE2b-256 ccc4356d8c7c2829c18a543cca4ea90f551797a8b3e1a2eb704c1b9cbe01158f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aed4d099b00bd6c7f8f519fa7987c124e31817c74c58ab35bfe0eda9ecc4ddf9
MD5 d2fae709f44eb5c1651eb3bb2fcc05e7
BLAKE2b-256 46eb22e070182d09d79a4f8819bd0c5e5f397f8678da119a2b0c42e1045a2c74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 92f82407238e1e39d0e46a009bdcde4c529c15c4ad431bf4d8e8a9d4b988760a
MD5 6a3fbdb6d725308468d3dcdd89be694c
BLAKE2b-256 57957d0c5c58673fac93609f2976a91b28e3391d333f3b7355d6b973e4554a5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15f8572642b1f74d9554d715b0dda00b8637664c9730922b6994b7eca13deccb
MD5 1ceded81ce06d82ae2db3584ab41ccef
BLAKE2b-256 349c750657ce119c4a24e416825975c43ddf6c8d5a2d88a909d66f7ec8aa6c84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thetadatadx-5.2.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.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7071c66e57a596ab95b9c8e7b58c0d44ba011a1e6ee0a41a4d16fbdb4550c85f
MD5 45da31a3c914100265562f5f2b2568ba
BLAKE2b-256 fa161d3f2b513a5ef7bd7e9a140d5b2a860fd5db25e1ad293d7fa0de140b8c60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 34e11cf868bcce70295c97d4661a7f6ad9d6101c8b95b50ceb3d189d32b1a4ff
MD5 e0f1b6c63c9aab07bbb7d4c744ceec4b
BLAKE2b-256 563eb72303afba1d02e468418945c2f62bad97965dc0433d2c81e97d12a936aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 861f3fc38b2424484376706a07ab4fec7915e588945ea1989636e44fbf778980
MD5 c8d330078c6520aa338613ad1a1d8130
BLAKE2b-256 bb8c17f732519a180e524652869f7e7c9857b29803a5fc413dd3f29110482f73

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