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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

thetadatadx-5.2.1-cp313-cp313-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

thetadatadx-5.2.1-cp312-cp312-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

thetadatadx-5.2.1-cp311-cp311-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

File metadata

  • Download URL: thetadatadx-5.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4211bab81f82409b53a555f3692d7e0ca75fafcf15d643cc035bf521eda2dc1c
MD5 b7f0f5016d094aa8ff91c4cdbe28be30
BLAKE2b-256 013f5a904853f399f93823cc4dcdb7c2938988d5176ab3d11fa048d7788270f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c59c8fccdbda105d792fcbf50ba1ccf66f56ca9262c34474d50cb44d71d377c8
MD5 b4ac27547dac1d5a7ea8018ce69010f3
BLAKE2b-256 e6f90c37f08bbb17bc45fff4f3115c6e729ea6c61e6777d4d65f83ccfbcf4dbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 01a47da1bf1d1393ebe9b56c18ba57c2adb0cbc22fc59425d2d20a793914e735
MD5 ff3c9c8c6355115d6f5761709e099780
BLAKE2b-256 344e1d5dad9bd96d2a44f67238b2e1535908fb46cba87cab240c926f7362c605

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0dc4e652675ac0c8cf053be3e2e39a2bf4bcf78428f79eac1ee77fa3b7e3208f
MD5 d5ffe548c52952cd93046400d3248bee
BLAKE2b-256 240d5cf59b1c87282fd970b27169fad720c0a46bf18cfd0129575b82919f70cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dcf7a4189c4f429a72a432cf64c928e29e11bca3ad51db60696d9fe2db5027a3
MD5 ae2aace0d13b2b6283fced8aea7234e1
BLAKE2b-256 86e9da64097b20591b73236215326be94b0833b04790a2af6efbba572fac1cff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 1eeb1edec025fb86e2bb61cdadaf485d9aa29b50b88eb4172d117a633c8b1aea
MD5 d6bebc9f7a3f4e89855766142086dc34
BLAKE2b-256 6b6445f1979eab37e87860d2b96ebca809b5ddfd1f964755f7aca883ad41cb00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb30a52ac92b5a5b48ab994e448db75eba2b1e62ecc08fae7e641b84bf7756e3
MD5 1fc15e1a3865193297b74ea3739d4bfa
BLAKE2b-256 f7b94d153aa5c51ba07c68056b97a6868e5a64f2bd5e7df2f5bf128e665f7d8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9f636ca4220e2e4162eafc712bc1045f209e80dfc9ad42fac5b0cd7b1ae70aa8
MD5 8b0adf7fffd7d619144bfea52f1d12fb
BLAKE2b-256 f650db5bc772564d10cd566f1abcec2b8ec69b091a83662fd5895d304aed40d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 486282e708886301a768caf09b96d80d23ce9888b23f3cb5c1986549f82da1a4
MD5 53c4858c061506395f5199c004c1f4e6
BLAKE2b-256 5bad2a31e04cd90cff40f9befc201a8df8420056e65f678d50d421bc082ade25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebaedf03fc2b23134fdd464d61d717f3a84e5177183cd7ed588b4757a82b00e3
MD5 a8075f7a84b2214d5688318cdb957548
BLAKE2b-256 1cd8b89e26b7a03a1517fd0b77558d46965f807ee004cbd0de7c10862bf1c6ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b3c75361d932d8975946c07955d3b012cfec8d02bf1723e5b94fa6f719420a3
MD5 3fc81a6c46488d770e12734dc85515d7
BLAKE2b-256 9016eeb4ac94f29e9212476a3709841cd28778ca6cf647141264d7f624d916e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 de85a8520e64ba428842aa1624755b97a3dca9f7013faba81ad8c28a8a0943a4
MD5 b4147b7f6555291b6b0c1efb7222c022
BLAKE2b-256 06cfd55711c202dbbd42e680e5d4ac27d891d40552680de64d20a034cecdd174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1312993ccba1efd9b38d21d93671279d01a58891b23f2d9fec27ab0825a2d99d
MD5 21801ae4339fb324d8b94fc74a64ff85
BLAKE2b-256 aaba3e9c1421a9c686d38130fcc14e271e3d8d6267e305c670cbebfa3dd6da72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1f782993fb854770149ef19c881cd1f3d9d0baacdb5dec9fef307aea1b4ffdc4
MD5 e35b2eb1fd9f4a1b039ceef2f8e95f7f
BLAKE2b-256 b854894f6b768826c14513da6733a3a26b00a01babffe7b371030539eeeb8df4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 bb886ee9ef8700638f73beed426bdb278b64f8ae36ad2d8758d6f5b090398cad
MD5 86dc077fd496ab907eaa610c49e1fde5
BLAKE2b-256 ab1ad947a7b78d7715dc30849b948438ac67b69ec802906164d54c2f40e33c40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 198d4654d20d661c1555adb677c4a920b9df3391e97bec976073c93bb814b417
MD5 5343120611ad1d1a3efff945b26c78fa
BLAKE2b-256 1987d662a958cde03dd9bf47378d4a8e64f5637954a1c99fdaf5a75a356a9d31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thetadatadx-5.2.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.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d6c01c384583cc85699f89ef2b3400472599753b6d5b26226fa7f367b4c48e75
MD5 24811e7748e0eb5e1d9d9e38d9c1b3b7
BLAKE2b-256 343285f965ec4f6f671725ec3d29441a6ae34e213008d74621b002db766cd76a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 f38116ef5a2951c11586125f663ed59a78a203803412e3c2419fe1b0bee09b0b
MD5 08a6a568d7b0a97cf814f58e1f3313c2
BLAKE2b-256 6f502552a8b8d026a0cd620df9c4459b1c833289682c356856da82b51fb88f10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.2.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a293f934023f9521e68f24f1fa9f029685cb1ee2b5eb4ac3f437992485a193c9
MD5 153f5a232719c17c00563045f2de5ebd
BLAKE2b-256 c0d81c41e27a6813cde5c50b0845cb2aeb26dcaca8bf5b130eab95839e71c289

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