Python SDK for FLOPS Index — live GPU compute pricing reference rates
Project description
flopsindex — Python SDK
PyPI release mirror. Source of truth:
flopsindexmonorepo (sdk/python/). Refresh withflopsindex/scripts/sync-publish.ps1before publishing.
See also — docs & source · MCP server flopsindex-mcp · schema · Public access overview
pip install flopsindex
Python client for the FLOPS public API — delayed public GPU compute reference rates (indicative, not for settlement). Stdlib only, no dependencies.
Public access
This package exposes the public FLOPS index surface only: citeable reference rates with verify and permalink URLs. Index construction methodology is not published in this repository — see flopsindex.com and the public access overview.
| Access | What you get | How (this package) |
|---|---|---|
| Anonymous (default) | Delayed public price (~6h grid; indicative, not for settlement) for the FLOPS family (FLOPS-SPOT, FLOPS-OD, FLOPS-DEPIN). | Client() with no API key |
| Keyed | Same endpoints at real-time, full precision. | FLOPSINDEX_API_KEY or Client(api_key=...) → X-FLOPS-Api-Key |
| Partner | Higher fidelity, expanded coverage, and additional detail beyond the public delayed surface. | team@flopsindex.com |
If you need more than delayed public rates — e.g. production-grade latency, broader index families, or deeper commercial terms — reach out to team@flopsindex.com to discuss partner options.
30-second example
from flopsindex import Client
c = Client() # no key required
print(c.price("FLOPS-H100-OD"))
# {'index_id': 'FLOPS-H100-OD', 'value': 2.45, 'unit': 'USD/GPU-hr',
# 'as_of': '2026-07-13T12:00:00+00:00', # delayed to a ~6h grid (00/06/12/18 UTC)
# 'delayed': True, 'data_tier': 'LIVE', 'confidence': 'HIGH',
# 'change_24h': 'FLAT', # banded: UP | FLAT | DOWN
# 'disclaimer': 'indicative reference; not for settlement',
# 'methodology_url': '.../i/FLOPS-H100-OD/methodology',
# 'verify_url': '...', 'citation_url': '...', 'permalink': '...', 'upgrade': '...'}
print(c.search("h100 spot"))
print(c.list_indices())
Public surface
All methods work without an API key.
| Method | Returns |
|---|---|
price(index_id) |
latest public price (delayed for anon) |
search(q) |
NL → slug results |
list_indices() / catalog() |
public catalog (/v2/catalog/public) |
verify(id, value) |
does the value match our tick? |
verify_handshake(id, value) |
defensive citation check (never raises) |
API key (optional — upgrades delayed → real-time)
No key is required. If you have one:
export FLOPSINDEX_API_KEY="flops_xxxxxxxxx"
Or pass it directly:
c = Client(api_key="flops_xxxxxxxxx")
The SDK forwards it as X-FLOPS-Api-Key on every request, which upgrades the delayed public price to real-time, full precision server-side. See Public access for partner-tier options.
Citation
Price, verify, cite:
tick = c.price("FLOPS-H100-OD")
check = c.verify_handshake("FLOPS-H100-OD", tick["value"])
if check.get("verified"):
# use check["source_url"] in your citation
...
verify_handshake won't raise on HTTP errors — it returns {ok: false, reason, ...} instead. Use verify() if you want exceptions.
MCP
For Claude, Cursor, Windsurf, etc. use the separate package: pip install flopsindex-mcp.
Naming
FLOPS-{model}-{OD|SPOT|DEPIN}— GPU rental indices (the only family on the public surface)
Use c.search() if you don't know the exact slug.
Errors
from flopsindex import Client, FlopsNotFoundError, FlopsAuthError
c = Client()
try:
tick = c.price("FLOPS-UNKNOWN-OD")
except FlopsNotFoundError as e:
print(f"index not found: {e.detail}")
Hierarchy: FlopsError → FlopsAuthError / FlopsNotFoundError / FlopsRateLimitError / FlopsServerError. All errors carry .status_code and .detail.
License
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 Distribution
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 flopsindex-0.8.1.tar.gz.
File metadata
- Download URL: flopsindex-0.8.1.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af09aa512b65d3216bea56c737359782758a57543f8fe1363ff938af01aa652d
|
|
| MD5 |
fcc987946d73c0a0fca1bcbfadb1bb69
|
|
| BLAKE2b-256 |
70dfc50dff45e0ba3c7cc5d282eda56d25fe8576f6724f5abdc95c46fdfe4eca
|
File details
Details for the file flopsindex-0.8.1-py3-none-any.whl.
File metadata
- Download URL: flopsindex-0.8.1-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a10ad6ae04e1c3479c5a9bea7cd738d697e13a2853ed6d2b79e15aebba544a2f
|
|
| MD5 |
a2253c5e2259730feb83c717db9baf25
|
|
| BLAKE2b-256 |
518f47f975e68a2a247b80987d4360e6851a21ee1260f12b0bc0bc54bd8bf674
|