Python SDK for SatVu's satellite imagery platform.
- Unified Interface - Access all SatVu APIs through a single SDK
- Type Safety - Full type hints with Pydantic models for requests and responses
- Explicit Error Handling - Rust-inspired Result types for predictable error handling
- Multiple HTTP Backends - Choose httpx, requests, urllib3, or stdlib
- Built-in Pagination - Iterator methods for seamless pagination through large result sets
- Streaming Downloads - Memory-efficient downloads for large satellite imagery files
The package is published on PyPI and can be installed with pip:
pip install satvuWith optional HTTP backends:
pip install satvu[http-httpx]
pip install satvu[http-requests]
pip install satvu[http-urllib3]The SDK works out of the box with Python's built-in urllib.
import os
from uuid import UUID
from satvu import SatVuSDK
sdk = SatVuSDK(
client_id=os.environ["SATVU_CLIENT_ID"],
client_secret=os.environ["SATVU_CLIENT_SECRET"],
)
contract_id = UUID(os.environ["SATVU_CONTRACT_ID"])
# Search the catalog
results = sdk.catalog.get_search(contract_id=contract_id, limit=10)
for feature in results.features:
print(feature.id)| Service | Description |
|---|---|
sdk.catalog |
Search and discover SatVu's STAC catalog |
sdk.cos |
Order and download imagery available from SatVu's STAC catalog |
sdk.id |
Identity and user management, including webhooks |
sdk.otm |
Order and manage satellite tasking |
sdk.policy |
Check active contracts |
sdk.reseller |
Perform reseller operations |
sdk.wallet |
Check credit balances |
- Getting Started - Installation, authentication, first API call
- Authentication - OAuth2 flow, token caching, environments
- Error Handling - Result types and error patterns
- Pagination - Working with paginated endpoints
- Streaming Downloads - Downloading large imagery files
- HTTP Backends - Choosing and configuring HTTP clients
- Changelog
- Python 3.10+
See CONTRIBUTING.md for development setup and guidelines.
For bugs and feature requests, please open an issue.