Skip to main content

Geopera SDK (Python)

PyPI Python License: MIT

The official Python client for the Geopera geospatial data platform — satellite tasking & archive ordering, catalog search, the data platform, billing, and more. Every capability is a typed operation; this SDK gives you a fully typed, sync and async client for all of them.

  • Typed end-to-end — every operation has typed inputs, outputs, and errors (py.typed shipped).
  • Sync & async — call any operation with .sync() or await .asyncio().
  • Auth your way — a Geopera API key, or an OAuth bearer token from sign-in.
  • Generated from the live OpenAPI, so it never drifts from the API.

Install

pip install geopera

Requires Python 3.11+.

Quickstart

from geopera import AuthenticatedClient
from geopera.api.operations import catalog_search
from geopera.models import CatalogSearchInput

client = AuthenticatedClient(
    base_url="https://api.geopera.com",
    token="gpra_...",            # your Geopera API key
)

result = catalog_search.sync(
    client=client,
    body=CatalogSearchInput(
        host_name="api.geopera.com",
        collections=["sentinel-2-l2a"],
        limit=10,
    ),
)
print(result)   # -> CatalogSearchOutput (typed)

Every operation lives under geopera.api.operations.<operation_id> (dots become underscores — e.g. orders.tasking.estimateorders_tasking_estimate). Request/response models are in geopera.models. Browse the full operation reference at https://docs.geopera.com/api-reference.

Authentication

Pass either credential as token; Geopera accepts both and runs every call as that principal (with its scopes, audit, and provenance):

# 1) A Geopera API key (headless / server-to-server) — create one in the portal.
client = AuthenticatedClient(base_url="https://api.geopera.com", token="gpra_...")

# 2) An OAuth bearer token (e.g. from a signed-in user session).
client = AuthenticatedClient(base_url="https://api.geopera.com", token=user_access_token)

Async

import asyncio
from geopera import AuthenticatedClient
from geopera.api.operations import orders_tasking_estimate
from geopera.models import TaskingEstimateInput

async def main():
    async with AuthenticatedClient(base_url="https://api.geopera.com", token="gpra_...") as client:
        est = await orders_tasking_estimate.asyncio(
            client=client,
            body=TaskingEstimateInput(...),
        )
        print(est)

asyncio.run(main())

Error handling

Operations return either the typed success model or a typed error — Problem (RFC 9457 problem+json, what Geopera returns for business/permission errors) or HTTPValidationError (422 input validation). Use the *_detailed variant when you need the HTTP status code:

from geopera.api.operations import catalog_search
from geopera.models import CatalogSearchInput, Problem

resp = catalog_search.sync_detailed(client=client, body=CatalogSearchInput(...))
if resp.status_code == 200:
    data = resp.parsed              # CatalogSearchOutput
elif isinstance(resp.parsed, Problem):
    print("geopera error:", resp.parsed.title, resp.parsed.detail)

Configuration

AuthenticatedClient accepts the usual knobs (timeouts, retries via httpx, custom headers, TLS verification):

client = AuthenticatedClient(
    base_url="https://api.geopera.com",
    token="gpra_...",
    timeout=httpx.Timeout(30.0),
    raise_on_unexpected_status=True,
    headers={"X-Request-Source": "my-app"},
)

Versioning

The SDK version tracks the Geopera API contract. Breaking API changes bump the major version. See the changelog.

Links

License

MIT © Geopera

Release files for geopera 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geopera 2.1.0
File Size Uploaded
geopera-2.1.0.tar.gz 119.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for geopera 2.1.0
File Interpreter ABI Platform
geopera-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size:706.3 kB

Release files / geopera-2.1.0.tar.gz

Download URL geopera-2.1.0.tar.gz
Size 119.1 kB
Tags Source
SHA-256 checksum
How to use checksums
27ba97c79789437af329b2b932193aeec5cf9e768a2e9d30fa625556956d3254
BLAKE2b-256 checksum
How to use checksums
a03550111039d3eec08d02ef7a54638292d7d36a540687847396e6f90d882e68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 20, 2026.

Transparency log

Release files / geopera-2.1.0-py3-none-any.whl

Download URL geopera-2.1.0-py3-none-any.whl
Size 587.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ecd4755aa0aaa5707addfe7cda2c3d3ff53466fd48def4c70fbcf61ba43b09b2
BLAKE2b-256 checksum
How to use checksums
53be9220bd767f5a6f844f476ee3414b479910bd837153f0fc1753dee2da8f7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page