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

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.38+ x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.38+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

thetadatadx-5.0.2-cp311-cp311-manylinux_2_38_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

thetadatadx-5.0.2-cp310-cp310-manylinux_2_38_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.38+ x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

thetadatadx-5.0.2-cp39-cp39-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.38+ x86-64

thetadatadx-5.0.2-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.0.2.tar.gz.

File metadata

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

File hashes

Hashes for thetadatadx-5.0.2.tar.gz
Algorithm Hash digest
SHA256 bff0ce607b8f2f2305f31886a1d75859d991ce4c20a2e2404c7853e118e9af94
MD5 9b7025c4ed44cd58cdaa30e8d2e4d2ba
BLAKE2b-256 1e10f978a1142c89d11a72aaba571eb0bca7ac47b98ce3d1c8346a13b09b1a3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 25414c4bccd5230d85f98cf5df28237d7f27f2c591ab91bd7b756f295c54dfb6
MD5 8b4dc160f8072e0421cb9f7c692d299a
BLAKE2b-256 c642c066fb876a88dc38cdaae485f86dd86f68c31b4ceb46ef7886b35cc49f87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 200c7a7b0d553e1c7aa9286042902d2343304fd139d37002fbe33fae0e9d7e29
MD5 9b692c01d9e6d85b1f8d9f406adaa04a
BLAKE2b-256 8026a2e149f64b5541fa662efd409712804c34a8f471155941321b0022d53576

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ff307c64ddddf4cd8186639934a815941b35d4ffcff79cd9cae22105d92baf9
MD5 a4ee5af8fd9039483c4fe59881d5f976
BLAKE2b-256 92f888a0afaf73bb5838e849709da3acfc987bf6c4522c4cda41258538537a12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 af3bec5bf7acefe57c25714debacbf183fc3c288c2ce1a4202910c182475d218
MD5 bdbe2f340fb70f773ca9522f2492ff17
BLAKE2b-256 5b45de85530e437d8177118dda69f676dfe0897ef1d2288e326aef3f0ecf72b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 81b97e2215ae06bb6893c993577ca2b0a44e20950b11edd11e5e4ac2dc45d77e
MD5 383bfd4025ad67510942790a172e375e
BLAKE2b-256 eb0be5edac9098dc470e80396eadcd0c451360fd31e3452df15a7a9d06c36fc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abd01714612db3c27642c62a9c13505a7661872e2c682b25ad96801e7f111b8f
MD5 f42266f13b3fe97e66168706bcf61d18
BLAKE2b-256 44105aaeef8d8c2907ef6bf02f6ce1b9cd11801f8b5a296bb14b438244204775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ec788f64680d1ffa4863488123d3a7a66075711d9a8a00a973f82936f37164fa
MD5 dc131e2759398c9239af378e0b4a6550
BLAKE2b-256 1ed24da0e097a58070e161b838e678e1fd921a0dee82bf083e301f92f4e47b9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 6cbadea0bc24e2b01d42ec20c0773d42e723664543a02f5d805c099cc3878fe3
MD5 efdfe769ef595afb4cdcf08acb006fa5
BLAKE2b-256 f836394b0871c73890b6276bf533e92f70a6d8eb19ed89309819504b1bc674be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 894668fc0e2870efcd96deb77db7ef6c85521e3dec648e05ceda8b7bae5a3eef
MD5 0455cc91fc4579cedf7f4cefbeaf1aae
BLAKE2b-256 de56339c54e374e9a6b06014ac5439c9362d6e7452f7aab6c571bc5815b7591f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 139142db1497125e33e817125040cff027fb24051bd2520a6685758f0a6f8b02
MD5 5c55cc9a979cc636250799c6ce26dfb5
BLAKE2b-256 d9aabd5497fa0a1241f43fdce8035c423856eab87fa75f5c27ae2d4d87e16386

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 249f03841c2451259d58bccdd061590ffc1391d47798ea060af1e0cd95f547f7
MD5 7ceb79aa8653b0d03f87bb6db6e13071
BLAKE2b-256 6c660e60c5f952806658c113db24563144fdf3ef6268310c2bce8e08c32fbe36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33adfc0b43f1ab029ec30fc3a95f97495443bdfa6192e7846391ed6ee0636174
MD5 f2fac1098a65767b8fb1ba28fa456d11
BLAKE2b-256 c2fa0bab844b2776584d73ef8eed485dea0fd964b39c248754dc3f22fe668903

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 111d2ab2ae297b62c90945b52406010fa13a07ff5c76037d67377c41290e965c
MD5 6e4c211b4fe1d8eec5f7d8645e16a74a
BLAKE2b-256 5fa8f15fc1e1230b147b9e76f6532930822e55ded93956fd4270c3bdab721a74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 51e9259b4e29126c0d4645bf8d3014a733958dd08c9ffddc93b8be53b626ba1a
MD5 03fb6f1cd0b5f262ddbb29e80b1d0ea9
BLAKE2b-256 cbb31476bde9b433370d609050147322e7d5fe2275f78638fa867d5d039c7c2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44da5391dbe004ed41535e84b4448f0618122e19a3d667f4dcc4328c24dea129
MD5 ca3e5f32dd25cf6028bd68185344d844
BLAKE2b-256 86369c9405f6dcb37cc31734bf23a8f66bb888ef4112b7f0cd437998fb444a24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thetadatadx-5.0.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.2 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.0.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cbb1828b1e11623901cfc042898c2de27a2103c483a12017ef7b682d0caa8f4b
MD5 7a97fdb3c2fc86c5a1fc540621eed5fd
BLAKE2b-256 6e16bac9ecf4ef6fd6d168eb472945610b23448478899fb1eba60caaa23e7b35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 700fce6d6dac8b3eb4efe72dcf120c0d4ffe44417fd34a34d035e855fbc72928
MD5 101c7ee709f31ded2aa511accf6c1972
BLAKE2b-256 53934e7e1f804fdd143e55bc43f82affa7d04aa9cc6a3a4835bfae56dea9d3b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.0.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9a670af9c6c0fa2b5bafc09c4bb913f6d6ae6deab14dd8e973ea599b22aaa6b
MD5 b246ac0540d61038a99d96efc941372c
BLAKE2b-256 445ca76aca5e0a3e5b8f38615f275103b27207bcb96de9959b77c8ab9bc22264

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