Skip to main content

Zero-dependency client for the SibFly ground-motion API (satellite-measured land subsidence/uplift, mm/yr, for any US address)

Project description

sibfly

Zero-dependency Python client for SibFly — satellite-measured ground motion (sinking/uplift, mm/yr and in/yr) for any US address, from NASA OPERA Sentinel-1 InSAR. Flat $0.40 per covered report; misses are free.

Pure stdlib (urllib), Python >= 3.8, no dependencies.

pip install sibfly

Quickstart

from sibfly import SibFly, InsufficientCredits

client = SibFly.register("agent@example.com")          # self-onboard: key + free credits
try:
    r = client.motion(address="425 Fremont St, Las Vegas, NV")
    print(r["velocity_vertical_mm_yr"], r["assessment"])
except InsufficientCredits as e:
    print("top up at:", e.top_up_url)                   # self-refill URL from the 402

Already have a key? SibFly(api_key="sf_...") or set SIBFLY_API_KEY in the env.

Surface

Method Endpoint Billed
SibFly.register(email) POST /api/v1/autonomous/register — returns a ready client free
client.motion(address=... / lat=..., lon=..., **gates) GET /api/v1/motion $0.40 (misses free)
client.batch(items) POST /api/v1/motion/batch (max 1000; only covered rows billed) per covered row
client.timeseries(...) GET /api/v1/timeseries yes
client.coverage(...) GET /api/v1/coverage free
client.geocode(address) GET /api/v1/geocode free
client.balance() / client.usage() GET /api/v1/balance / /usage free

Gates (free-miss guards) pass straight through: motion(address=..., dry_run=1), max_age_days=90, min_confidence=0.8, include="timeseries", brief=1, ...

Built in

  • Auto-retry — 3x exponential backoff on 429/5xx, honors Retry-After.
  • Idempotency — a UUID Idempotency-Key is auto-attached to billed calls, so a retried request is never double-charged. Pass idempotency_key="..." to control it.
  • Typed errorsAuthError (401), InsufficientCredits (402, carries .top_up_url / .buy_credits_url / .suggested_top_up_usd), SibFlyError base (.status, .code, .request_id, .body).

Full API contract: https://sibfly.com/llms.txt · MIT license.

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

sibfly-0.1.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

sibfly-0.1.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file sibfly-0.1.0.tar.gz.

File metadata

  • Download URL: sibfly-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for sibfly-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1352f1f1d2528cabe143dbbf774e2abd58a8f15bd4ce69393c3e83bab7cca89d
MD5 93c05612258da8ad7e701c6839789900
BLAKE2b-256 0aa0c829ae4bf920495e8cfb8efd9515898d016a934be60841932ced23e37555

See more details on using hashes here.

File details

Details for the file sibfly-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sibfly-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for sibfly-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd6e4348c90b84b581c2cbfdfe237146bb6f601dbad203eb84c0b3a7262fc961
MD5 d6c519d615f8cbb449cb69c506acecfc
BLAKE2b-256 33f9856ff5142bc1cd8074fce073c25b1475ed6ce506d35a83c42f2ff70c065e

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