Skip to main content

Python SDK for FLOPS Index — live GPU compute pricing reference rates

Project description

flopsindex — Python SDK

PyPI release mirror. Source of truth: flopsindex monorepo (sdk/python/). Refresh with flopsindex/scripts/sync-publish.ps1 before publishing.

PyPI version PyPI - Python Version PyPI Downloads License: Apache 2.0 Live API Spec Docs

See alsodocs & 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: FlopsErrorFlopsAuthError / FlopsNotFoundError / FlopsRateLimitError / FlopsServerError. All errors carry .status_code and .detail.

License

Apache License 2.0 — see LICENSE and NOTICE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flopsindex-0.8.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flopsindex-0.8.1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

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

Hashes for flopsindex-0.8.1.tar.gz
Algorithm Hash digest
SHA256 af09aa512b65d3216bea56c737359782758a57543f8fe1363ff938af01aa652d
MD5 fcc987946d73c0a0fca1bcbfadb1bb69
BLAKE2b-256 70dfc50dff45e0ba3c7cc5d282eda56d25fe8576f6724f5abdc95c46fdfe4eca

See more details on using hashes here.

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

Hashes for flopsindex-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a10ad6ae04e1c3479c5a9bea7cd738d697e13a2853ed6d2b79e15aebba544a2f
MD5 a2253c5e2259730feb83c717db9baf25
BLAKE2b-256 518f47f975e68a2a247b80987d4360e6851a21ee1260f12b0bc0bc54bd8bf674

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