1.5 KiB
yksa-orbital
Propagation for YKSA Django services. See yksa_orbital/README.md for the API, the backends and the sidecar contract — that document moved here with the code and is the reference.
yksa-orbital @ git+https://git.intra.yksa.space/web/yksa-orbital.git@v0.1.0
INSTALLED_APPS = [..., "yksa_orbital", ...]
ORBITAL_PROPAGATOR_BACKEND = "sgp4" # or "orekit"
OREKIT_SERVICE_URL = "http://orekit:5000"
Status
Extracted from the tle repo, where it was already the right shape: a backend
registry, a wire format and a config reader, with no Django models. It is used
by odms today.
ops and tdas still have their own propagation code
(ops/yksa_ops/orbits/propagate.py, tdas/yksa_tdas/location/propagate.py) and
should move onto this package next. Two things are missing before they can:
opsneeds apasses(station, satellite, window)entry point. Its pass prediction currently uses Skyfield, which this package does not wrap.tdasneeds the sub-satellite point and ECI/ECEF state vectors it computes itself. Those thesgp4backend already provides, so that port is the smaller of the two.
Until both are done the estate still describes the same satellite through three code paths, which is the reason this package exists.
The Orekit sidecar itself stays in tle/services/orekit — it is a container, not
a Python package, and moving it is a deployment change rather than an extraction.