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.4.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.4.0.tar.gz (186.7 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.4.0-cp314-cp314-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

thetadatadx-5.4.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.4.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.4.0.tar.gz.

File metadata

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

File hashes

Hashes for thetadatadx-5.4.0.tar.gz
Algorithm Hash digest
SHA256 43d1e0096004b33beb4e9e7f0b2672a4fd6fa4f8b215e4ab5fb2f13b5b6e9195
MD5 330f15a161fb0feea2a7ae0a30e8c316
BLAKE2b-256 7bccd092ad4e35da87c0bfeb50b86d0b5678e0d933198ac79d4f72b3ec8f0e3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a8fc8d5190bbb37fc67b9212e065fa64b227634737ee38cbaf83a71e75aea48d
MD5 017b409adcf48167d90af1cd08355de8
BLAKE2b-256 b701b1b7867b72c1fff70209d8284cfb664b706335d5bb1d26ac2c196ae47c08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 3945c2e400828d675249f21dfe391bf148184715aa02fd03ab126f0a1a3bcf29
MD5 75e378455d7dce74a0e03a0869dbe9a5
BLAKE2b-256 e2a6f1a2a06b03482325de54f99f0610cf5f38319a4e8511166d594ba1863a8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42faf2e70a3c9528a57a08c727cbc95f95cb63b8f4247e4ed448ee688959c153
MD5 f3b180105a069296860a08c03c7f6c25
BLAKE2b-256 150453ad07e1dd685bbeb50fb3632b6ab79e42dbd2e9229596849f36b20e95af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3dd662e3e0d060f9ed060e9a7e4e95a4d858ad1945de695471f09518f84beeed
MD5 a4867bb167fcca83707b55f5ef211635
BLAKE2b-256 020d400081e72ef4a61ef899156934fee9b801bbdf9b231d52d0c2df060764d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 782c0d79e75c3e81db888bc37a0b71a37d306d1bbba3e065cc8c6fb730bbe400
MD5 f5d672e3390575e3e2ea48b9b8119bcb
BLAKE2b-256 b46d0c1cb924de6af1891371d7d7e4a8befbd07ad6784208e86aa87bf962c880

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02d5202e9d1cd9e312389bff67dd3c6649a57616670c34e1eea207097333a566
MD5 dbed5415ca2274dcd64f713f1645398f
BLAKE2b-256 6af115e2912173e168889df35cb824fcd5304145d6ea38e3ba4552ec23814727

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a1793591257ae63de38cf860f7a52bce8c687357f8946c6127de57bbff8a54b5
MD5 f64ac5e6cbce7ec53b7a8dc14a400b30
BLAKE2b-256 bee6cf6946030dc293d9e7ed7c9b465215e94d89b43a4444cb8f1c20e415cf7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 14facfac7299fb4062be7acbbeb279c80847a882ef90bc3cbff02c254b25415f
MD5 357a8b84a888cf6fac26de899c4abd61
BLAKE2b-256 174bb7081f76ef06ed19a96023a7ec843eb751f48b92a35f6f9440fa1a7c6572

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80c9894ce8407d959259c23df64f2cee1f99d785a302045fb432c083f0db24c0
MD5 205a00dba9c1f5d8e69ab1257306b404
BLAKE2b-256 f2eb385080903aaa9c6d4945e2f2d23152acfcef9675b9a46fae00ec42149d39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0284fc5105856a59b7b4df3626c75fe6448aa236090a3fe43cfe1c3125052815
MD5 55cc8ea2e594e29efdcbc10898f993ab
BLAKE2b-256 876e6831955aa04cb7444f11fc39c39380b9fcba88c504d3a715890441026578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 e77a1b284011a745cb82d9c25eff865f7ed7bfece3b633cf87bfc075141ceca9
MD5 5afdffc671b0c32b8b6a08c7b1e78f31
BLAKE2b-256 c7005edb59f6c326e6bec31389cf6992e1ee7cac0bb68e2077f7ffb17012a199

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91e528e4ec61f1e1b8dbb5d383bba7f8078aa9a1ee6c7aee94ef5b3af0271243
MD5 5cb57346d7673cd9ccee78fc1c0ad2ef
BLAKE2b-256 cc8a3568293024f9bfc2c58f7ba2dee9c7a6578d5e77fc32073249f8fd3ec19d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9262781e6f148833ceae7c8c55d228a50782b0e77ada4dc9eec51eb3143f667d
MD5 ba2f9a556a22872f80c01fcb9269d164
BLAKE2b-256 9166b5597f60fac63718436188ff1ee4dd1d206c268f54134c0032499341c250

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 c147fa30652a70d926cf871575b3f294be9b81b65bc857b2bccf6b1a98c48d34
MD5 19f996dcdd78a9cdae2c87f12866b345
BLAKE2b-256 ae741f8fd74937a545b5487de2f1de9892b3121ea62d6b92163019448929a8c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ac5cebe40b172345c101c63072d348a3179593253c79a16f474ca822af58915
MD5 c712383e0fc06360075452d8f8a2c2b1
BLAKE2b-256 58985844d9512afea2cc8bf90f22a33df46f8d35cbfed73f357ce8c30ddafbf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thetadatadx-5.4.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.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 91a010e152088edb3221f29703627fc78d13ee9c02f9bf473104da230cc9e068
MD5 368098ac15b436ee169ac856cbace2df
BLAKE2b-256 8abc85bff639d9f642a2c59ede54b0beded7976f66e0c0035e5501e9724bfc28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 e1bf52cb4cb026b451d92d16b357e1aa3aa35ed60ade54046fffc5fb48103175
MD5 d25f8f8080a975546bbec597d6fab9c6
BLAKE2b-256 a6fb46f79a4ae85b5850a77d05cb47ff21f20f6a077e98ce4c64e55149d5e6ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for thetadatadx-5.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3cfc73840cc7e5b1c512468313e0370001990ea9a293065f33c5aa7f9bfd63d
MD5 c4f619c73ba1c489596470aae02ca3fb
BLAKE2b-256 a21618eb40534b9bc70732c164d67028d4acf300fcf7491bc6832298171292f7

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