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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| satnogs_api_client-0.4.0.tar.gz | 78.6 kB | Without provenance | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.