flopsindex — Python SDK
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 — spot, on-demand and DePIN market types, e.g. FLOPS-H100-OD, FLOPS-A100-SPOT, FLOPS-A100-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
Metadata
Release files for flopsindex 0.8.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flopsindex-0.8.3.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flopsindex-0.8.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.7 kB
Release files / flopsindex-0.8.3.tar.gz
| Download URL | flopsindex-0.8.3.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d37de713bd52788406fa8029043ba806dd792324fcc0a0831ac9bc2938377106
|
|
BLAKE2b-256 checksum How to use checksums |
aca906f79b27d3c2b7a3d569c16f6d3fe762624bd5a27f221bf9d24c125f15f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / flopsindex-0.8.3-py3-none-any.whl
| Download URL | flopsindex-0.8.3-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
220f7daf7e54db057144e95a4deaa0663cb850c7c7a3e1a8f267c63ce4d33d7c
|
|
BLAKE2b-256 checksum How to use checksums |
774cf4d61a360b4a2577baf03965c01d55aca8a0c3128f31ee533845de49244f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|