Skip to main content

satnogs-api-client

A rust-based API client for the SatNOGS network

This api client provides a rust and a python interface to communicate with the JSON-API of the SatNOGS network.

How to install

You can get this packet easily via pypi:

$ pip install satnogs-api-client

For usage examples, you can have a look in the examples section below.

How to build

For building this, you will need a rust-toolchain. Please get it from https://rustup.rs

For development purposes you can build the project using uv:

$ uv run maturin develop
# evaluating in python env
$ uv run python

Examples

This sections shows you some examples, on how you can use this package. Conceptually, functions are divided into different groups:

  • Single object calls, like e.g. get_observation(id: uint64) and
  • Multi-Object calls e.g.: get_observation*s*(f: Filter)

Multi-Object functions take a filter object, that defines criteria that you search for. As your request might be that big, that it will be paginated by the server, you should consider performance inplications there.

Example: Fetch observations

This sample requests the observations made by station 106 during the last 12 hours:

from satnogs_api_client import APIClient, ObservationFilter
import datetime as dt

api = APIClient("https://network.satnogs.org/api")

now = dt.datetime.utcnow()

# create Jobfilter with keyword-syntax
f = ObservationFilter(
    ground_station = 106,
    start = now - dt.timedelta(hour=12),
    end = now,
)

obs = api.get_observations(f)

for ob in obs:
    print(ob)

Example: Authenticate with API-Token

For some actions, you must authenticate against the API with your token.

from satnogs_api_client import APIClient, ObservationFilter
import datetime as dt

api = APIClient("https://network.satnogs.org/api", api_token="INSERT_TOKEN_HERE")

s = api.get_station(1860)
print(s)

Example: Delete a Job on your own Station

This will delete the job/observation from your stations observation scheduler. This works for observations that will start in the future only.

from satnogs_api_client import APIClient, JobFilter, ObservationFilter
from datetime import datetime, UTC
from time import sleep

token = "INSERT_TOKEN_HERE"
api = APIClient("https://network.satnogs.org/api", token)

f = ObservationFilter(ground_station=106, end__gt=datetime.now(tz=UTC))

jobs = api.get_observations(f)

for j in jobs:
    print(j.id, j.start, f"https://network.satnogs.org/observations/{j.id}/", j.observer)

for j in jobs:
    if j.observer == "Someone":
        print(f"deleting {j.id}...")
        api.delete_job(j.id)
        sleep(1)

Metadata

Release files for satnogs-api-client 0.4.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 satnogs-api-client 0.4.0
File Size Uploaded Provenance
satnogs_api_client-0.4.0.tar.gz 78.6 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for satnogs-api-client 0.4.0
File Interpreter ABI Platform
satnogs_api_client-0.4.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
satnogs_api_client-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
satnogs_api_client-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details

Total release size: 4.9 MB

Release files / satnogs_api_client-0.4.0.tar.gz

Download URL satnogs_api_client-0.4.0.tar.gz
Size 78.6 kB
Tags Source
SHA-256 checksum
How to use checksums
06468f2c2ede2b57faf17c82adc134d7e33851ec439528c8fbafc6f72b6062c8
BLAKE2b-256 checksum
How to use checksums
0d2e60a9c1a62b44fc86a253bf507e3c46906d197bdac97131cda2264050bbba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / satnogs_api_client-0.4.0-cp310-abi3-win_amd64.whl

Download URL satnogs_api_client-0.4.0-cp310-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
165651d82b7f647554d2e07008e8615cada4e1f3861749c0906830634ff707fe
BLAKE2b-256 checksum
How to use checksums
d3ca73cd6405baafc6dcb12e6d58b1656d3f2812bfdf52116fc234b37918ebf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / satnogs_api_client-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL satnogs_api_client-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a82de0858ecb25b6d4166a1b54c9d75bf2deaf4f388eecc3ff9d2da14e02ad3c
BLAKE2b-256 checksum
How to use checksums
89425108ba3e0c33416c8ad35c9a7374f3215292bbaef4722dfc46e32d1d66c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / satnogs_api_client-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL satnogs_api_client-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
c2e96b185cdc8ca0ed8477994c09c96b8d523b558af4fcb87b321bff0b0a9185
BLAKE2b-256 checksum
How to use checksums
0ccc3ac3d8062aaf4b3ae4a1d9820904782e3a69954820f7665021ee1a1e871b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for satnogs-api-client 0.4.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.0 This release

4 release files No provenance

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