Python client wrapper for the SatNOGS Network Observation API
Project description
satnogs-network-observation-api-client
Python client wrapper for the SatNOGS Network Observation API.
Provides typed access to satellite observations, ground stations, and transmitters with lazy cursor-based pagination.
- Source API: SatNOGS Network GitLab
- Repository: GitHub
- PyPI: satnogs-network-api
Installation
From PyPI (recommended)
pip install satnogs-network-api
From source
pip install .
Using Make
make venv # Create .venv, install deps
make wheel # Build a wheel (creates venv if needed)
make test # Run unit tests (mocked, no network)
make test-integration # Run integration tests (hits live API)
make clean # Remove build artifacts
For development
pip install -e ".[dev]"
Quick Start
from satnogs_network_api import SatnogsNetworkClient
# Anonymous (60 observation requests/hour)
client = SatnogsNetworkClient()
# Authenticated (240 observation requests/hour)
client = SatnogsNetworkClient(token="your-api-token")
for obs in client.observations.list(status="good", norad_cat_id=25544):
print(obs.id, obs.transmitter_mode, obs.observation_frequency)
Rate Limits
All endpoints are publicly accessible without authentication. Providing a token increases the observation rate limit.
| Endpoint | Anonymous | Authenticated |
|---|---|---|
| Observations | 60/hour | 240/hour |
| Stations | 256/hour | — |
| Transmitters | No known limit | — |
The client automatically retries once on 429 (Too Many Requests), respecting the Retry-After header.
API Reference
See API.md for complete documentation of all wrapper functions with usage examples.
Usage Guide
See GUIDE.md for solutions to common problems like filtering observations by satellite class (amateur, cubesat, weather, etc.) using the SatNOGS DB API alongside this wrapper.
AI Transparency
This project was built with the assistance of Claude (Anthropic). AI was used for code generation, documentation, and test authoring. All AI-assisted commits are tagged with a Co-Authored-By trailer in the commit message. A human reviewed and directed all changes.
License
AGPL-3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file satnogs_network_api-0.1.1-py3-none-any.whl.
File metadata
- Download URL: satnogs_network_api-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7926afa0f8508a0a56f326211591a5cc9f3c65f989baccb7b30382d9ab18ab91
|
|
| MD5 |
8ccae398e16f91b5478b00529adbda75
|
|
| BLAKE2b-256 |
875cfe241e786e2d8468c551297c6a1cf91aee95ea4ac880e7d1e9df2818a886
|