Skip to content

SatelliteVu/satvu-api-sdk

Repository files navigation

SatVu API SDK

pypi GitHub License X (formerly Twitter) Follow LinkedIn

Python SDK for SatVu's satellite imagery platform.

✨ Features

  • 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

📦 Installation

The package is published on PyPI and can be installed with pip:

pip install satvu

With 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.

🚀 Quick Start

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)

Available Services

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

📖 Documentation

Requirements

  • Python 3.10+

Contributing

See CONTRIBUTING.md for development setup and guidelines.

Support

For bugs and feature requests, please open an issue.