Skip to main content

Python client wrapper for the SatNOGS Network Observation API

Project description

satnogs-network-observation-api-client

PyPI

Python client wrapper for the SatNOGS Network Observation API.

Provides typed access to satellite observations, ground stations, and transmitters with lazy cursor-based pagination.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

satnogs_network_api-0.1.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file satnogs_network_api-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for satnogs_network_api-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7926afa0f8508a0a56f326211591a5cc9f3c65f989baccb7b30382d9ab18ab91
MD5 8ccae398e16f91b5478b00529adbda75
BLAKE2b-256 875cfe241e786e2d8468c551297c6a1cf91aee95ea4ac880e7d1e9df2818a886

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