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]
Or build from source (requires Rust toolchain):
pip install maturin
maturin develop --release
Quick Start
from thetadatadx import Credentials, Config, DirectClient
# Authenticate and connect
creds = Credentials.from_file("creds.txt")
client = DirectClient(creds, Config.production())
# Fetch end-of-day data
eod = client.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
bars = client.stock_history_ohlc("AAPL", "20240315", "60000")
print(f"{len(bars)} bars")
# Option chain
exps = client.option_list_expirations("SPY")
strikes = client.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 constructionCredentials.from_file(path)-- load from creds.txt
Config
Config.production()-- ThetaData NJ production serversConfig.dev()-- dev servers with shorter timeouts
DirectClient(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 |
stock_history_ohlc_range(symbol, start, end, interval) |
OHLC bars across date range |
stock_history_trade(symbol, date) |
All trades for a date |
stock_history_quote(symbol, date, interval) |
NBBO quotes |
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(symbol) |
Latest OHLC snapshot |
index_snapshot_price(symbol) |
Latest price snapshot |
index_snapshot_market_value(symbol) |
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 |
FpssClient(creds, config)
Real-time streaming client.
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") |
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:
- Pre-trade NBBO quote
- OHLC bar for the traded contract
- The trade itself
- 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:
fpss = FpssClient(creds, config)
fpss.subscribe_full_trades("OPTION")
# Build a contract ID -> symbol map as assignments arrive
contracts = {}
while True:
event = fpss.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
fpss.shutdown()
You can also subscribe to per-contract streams if you only need specific symbols rather than the full firehose.
State & lifecycle
| Method | Description |
|---|---|
is_authenticated() |
Check if the client is currently authenticated |
server_addr() |
Get the server address the client is connected to |
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 DirectClient 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, FpssClient
creds = Credentials.from_file("creds.txt")
fpss = FpssClient(creds, buffer_size=1024)
# Subscribe to real-time quotes
fpss.subscribe("AAPL", "QUOTE")
fpss.subscribe("SPY", "TRADE")
# Poll for events
while True:
event = fpss.next_event(timeout_ms=5000)
if event is None:
break # timeout, no event received
if event["type"] == "quote":
print(f"Quote: {event['contract']} bid={event['bid']} ask={event['ask']}")
elif event["type"] == "trade":
print(f"Trade: {event['contract']} price={event['price']} size={event['size']}")
fpss.shutdown()
pandas DataFrame Conversion
Convert any result to a pandas DataFrame:
from thetadatadx import Credentials, Config, DirectClient, to_dataframe
creds = Credentials.from_file("creds.txt")
client = DirectClient(creds, Config.production())
# Option 1: convert an existing result
eod = client.stock_history_eod("AAPL", "20240101", "20240301")
df = to_dataframe(eod)
print(df.head())
# Option 2: use _df convenience methods
df = client.stock_history_eod_df("AAPL", "20240101", "20240301")
df = client.stock_history_ohlc_df("AAPL", "20240315", "60000")
df = client.option_list_expirations_df("SPY")
Install with: pip install thetadatadx[pandas]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thetadatadx-2.0.0.tar.gz.
File metadata
- Download URL: thetadatadx-2.0.0.tar.gz
- Upload date:
- Size: 127.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5168c743522a664deb766e92ab38d264b65f76796b008d4f43e9caf92ad575ab
|
|
| MD5 |
eabe73175742fc962d21c8645af44aa8
|
|
| BLAKE2b-256 |
0b7072c0e9a2e9f4f474ae2c78812be963a7029bd82998c3853fe59c08d4cc18
|
File details
Details for the file thetadatadx-2.0.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce0fd85cded50de4fc16d152ab0f3f2db69756d9b9985e9cb0ab4e898fb07323
|
|
| MD5 |
48d18c44222d4592b2cc5ef19160a789
|
|
| BLAKE2b-256 |
3937e014a87034285dca192acd3fbdb2775b410ff8eaf590921d3bc76e0633b4
|
File details
Details for the file thetadatadx-2.0.0-cp314-cp314-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp314-cp314-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.14, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92f5e2ca319bfc177ff4f46fb639861676eab6525cec003260c7a9723deb4170
|
|
| MD5 |
bf07933e156ba8c4ec7f9c5c1c006955
|
|
| BLAKE2b-256 |
81107af74b4433ed093839d13bfb2df9410c805bd44f321c09df33babf574ab8
|
File details
Details for the file thetadatadx-2.0.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e5becb0a4c8c139ddacc71b37c8408bfcf8699a411bd14c92590c79c72ed22b
|
|
| MD5 |
212c04693a475c1e7de0ca55b3ff2c8a
|
|
| BLAKE2b-256 |
89850766f3098a41f149fc524ec0c069f54be01e67c36398bde8bda25324c26f
|
File details
Details for the file thetadatadx-2.0.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94619c7d7140d7c9e60992ea039f52f073e6041cb909cfd859713acd84173a5f
|
|
| MD5 |
0837ca4e7c65244a85e32b874e9cebcf
|
|
| BLAKE2b-256 |
703876c8b397cb85024359fd9fbaff5af9d134178d4373b65136ecee812d0f83
|
File details
Details for the file thetadatadx-2.0.0-cp313-cp313-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp313-cp313-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b05695085cfb2dac1a4b88e7b8256dfc38d9816a7787ea5e9d0701056615d19f
|
|
| MD5 |
5f709db0e5535ff021429af2599b0a7c
|
|
| BLAKE2b-256 |
09faf991ee34708c98b8ae56b56ebbc522b4730d3924cf69fb6725a5a90877ee
|
File details
Details for the file thetadatadx-2.0.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd6cb4265991cf89211e49b6d1f6a6e3d30dad04683386233b0abbc9d6a7b501
|
|
| MD5 |
eef0899c9b33d8abdd7435c894213375
|
|
| BLAKE2b-256 |
a81afd2007976244ae8c63e362a56e74f96c98d603c36c00ae570d51ca7f0f3c
|
File details
Details for the file thetadatadx-2.0.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61434e7055ec1efec772357fdb7eb9b3b2be6b921272352bbb2f255879943366
|
|
| MD5 |
ccddd2faaa36d8c909e00b9346965bb3
|
|
| BLAKE2b-256 |
94bda43e098ee204749c40dcbae0c1978494e945fec23f03e73740786fdc91b8
|
File details
Details for the file thetadatadx-2.0.0-cp312-cp312-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp312-cp312-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e91cc5e4327ffcefaa6fa6202049a2beebb3855bdd53f2923cf8dd5aabe3e5ba
|
|
| MD5 |
56ce3fd442016605c15b81514f367ec3
|
|
| BLAKE2b-256 |
22c5c7bc0b208a365e35b2d76a6497c57be223771d1385faf8dded5c0dbf49ac
|
File details
Details for the file thetadatadx-2.0.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2806c831a3353fd8158d0c2233501af1179870a7f9a09e0646876fd8001a23b8
|
|
| MD5 |
713db7ec29ed0d538866878ea3d50814
|
|
| BLAKE2b-256 |
b09f05d444e702b9bcfc5524362576d9105d7fc6a3dbc121dbf90663198201f8
|
File details
Details for the file thetadatadx-2.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a5d38f525b91913aab46eb4c63b5b424bfd7a0dcb66cb3823f1dc513e099e44
|
|
| MD5 |
f6d1c795c3546a057e99dfc919640135
|
|
| BLAKE2b-256 |
9460a1188f7f8086751dbe2e65aebff84c37114fb5a0c06f4f2e9f25efb4ddcf
|
File details
Details for the file thetadatadx-2.0.0-cp311-cp311-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp311-cp311-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd0b4424dd6ead4d7755968f76fac5c7d6e6b6e7be786abef8fb3950ee6f0e48
|
|
| MD5 |
4ff19116b34147e4fb185712134c8471
|
|
| BLAKE2b-256 |
ac1e0a54e3b7b67fa6fb43c024a863380ec06f0214772247b839c86ee2e1a845
|
File details
Details for the file thetadatadx-2.0.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8245a3dfdb09ebf5535df75bd9fb8936e85b881f4d3cd887332748f5a7db7145
|
|
| MD5 |
be16e2b50cce250687b99f6f6fc6565b
|
|
| BLAKE2b-256 |
4a8d46d5a91539dd7a0685695b1bed70031b7fe8ae47595221f9a670bbf6818a
|
File details
Details for the file thetadatadx-2.0.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24e4706d8bf4bc7fda0d2ea543039957b7cf76db5dbda32556128207511ab791
|
|
| MD5 |
90bd0e32c0cc8923836d76eb949d6955
|
|
| BLAKE2b-256 |
c3d17f9027de59c0ee0eb7c354eb0af4c678497742eb047e27be10a202b5d102
|
File details
Details for the file thetadatadx-2.0.0-cp310-cp310-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp310-cp310-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e92093e05e040aa4d4bc66f1f96329d50cc24cc673403fad89aaed01eb39d8c
|
|
| MD5 |
251007da9b99f6fd29df0da26a1a7526
|
|
| BLAKE2b-256 |
699f996f6fc868a022576c985545431598a8c6470cdfa7fe8c75699711bf4587
|
File details
Details for the file thetadatadx-2.0.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab6de4138f0119e68a9112f2e415750dbf01d4f3d4be9ce47262518bd5e43e85
|
|
| MD5 |
a381cbfc80668cdeef7c50a3c7831d74
|
|
| BLAKE2b-256 |
4fa8f2feb1aaa5769a92ef90a7d471d67f8e27c0e1f4a31358154df39262ec0c
|
File details
Details for the file thetadatadx-2.0.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f018432d1fe29ab64f8877c4226ccde7c4a8386fe62651b15de475eca6dc45f7
|
|
| MD5 |
227a92e249df68c30cd8b75f83b3394e
|
|
| BLAKE2b-256 |
9052e82a161a7875224636694a8f29fc22b50c4cf4400ee2a30f0def679cda0a
|
File details
Details for the file thetadatadx-2.0.0-cp39-cp39-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp39-cp39-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35d005139571960b41124ed81f5aa34df313d72a27104675cc218a07be670b91
|
|
| MD5 |
28551d23dda6c762e48247f8c7647310
|
|
| BLAKE2b-256 |
d329b8ba145101f41ceaba6980faeaba3d48988fa2e1bb20dd4fbfc89de02729
|
File details
Details for the file thetadatadx-2.0.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: thetadatadx-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f38d1cb9d3559cea98f07d9ba721a5cbc2ea6941a6754367eb367cbcc6e0f5f7
|
|
| MD5 |
3b37c18631ab82cb46708a3a78dc335b
|
|
| BLAKE2b-256 |
dc8131d7387647f790cbe8e977a9762f53d1660ff03d379bcde09d5fc6221763
|