Skip to main content

Python client for the TART catalogue ephemerides endpoint

Project description

TART Catalogue Python Client

Fetches TLE data from the catalogue server and computes satellite positions in ECEF or celestial (RA/Dec) coordinates.

Setup

uv sync

Usage

# ECEF positions (default)
uv run python -m tart_client.cli ecef

# Celestial (RA/Dec) positions
uv run python -m tart_client.cli celestial

# Custom server and date
uv run python -m tart_client.cli ecef \
  --url http://localhost:8876 \
  --date 2026-06-16T12:00:00Z

Or override the server URL:

export TART_CATALOGUE_URL=http://localhost:8876
uv run python -m tart_client.cli celestial

Library use

from tart_client import CatalogueClient

client = CatalogueClient()  # defaults to https://tart.elec.ac.nz/catalog
# Or: CatalogueClient(base_url="http://localhost:8876")

# ECEF positions
for sat in client.ecef_positions():
    print(sat["name"], sat["ecef_km"])

# Celestial positions
for sat in client.celestial_positions():
    print(sat["name"], sat["ra_hours"], sat["dec_degrees"])

Output

ECEF

[
  {
    "name": "GPS BIIR-2  (PRN 13)",
    "ecef_km": [12345.678, -23456.789, 3456.78],
    "velocity_km_s": [1.234, -2.345, 5.678]
  }
]

Celestial

[
  {
    "name": "GPS BIIR-2  (PRN 13)",
    "ra_hours": 12.345678,
    "dec_degrees": -45.678901,
    "distance_km": 26500.0
  }
]

How it works

  1. Fetch — GET /ephemerides returns raw TLE (name, line1, line2)
  2. Propagate — SGP4 propagator computes TEME position at the requested time
  3. Convert — astropy transforms TEME → ITRS (ECEF) or TEME → ICRS (RA/Dec)

Project details


Download files

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

Source Distribution

tart_catalogue_client-0.3.2.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

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

tart_catalogue_client-0.3.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file tart_catalogue_client-0.3.2.tar.gz.

File metadata

  • Download URL: tart_catalogue_client-0.3.2.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tart_catalogue_client-0.3.2.tar.gz
Algorithm Hash digest
SHA256 151435d114fe8861a8010a8bfea6a1df7a5dab521d605dfa7eba6845c5ab33b3
MD5 4280019d5bd963495d5a98a19bef5fb9
BLAKE2b-256 34e983f7a513535f9655b4959a9868fef184d9230b7faef758dfb41fd7a3ec27

See more details on using hashes here.

File details

Details for the file tart_catalogue_client-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: tart_catalogue_client-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tart_catalogue_client-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 70a237ec084143db2fc5265f377b613c8500779c4157b6cac62ee4994baf8561
MD5 ca6a6f31228c4f04a523519ea7e5b69d
BLAKE2b-256 f0ddd30b01c011104dc4f0da4a9eb7ee3719fee3cbeeabf53d14e66443b35256

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