GET /api/satellites?groups=stations,weather returns last-known satellite positions propagated from CelesTrak GP JSON (OMM mean elements, not TLE) via the real sgp4 library (TEME->geodetic), not two-body Kepler. - Fetch gp.php?GROUP=...&FORMAT=JSON at most once per 2h per group, cached with a last-good blob fallback for 403 / stale responses. - SatNOGS TLE fallback only when the CelesTrak cache is empty. - bbox viewport culling; unknown group -> 400. - overlay_catalog() gains id=satellites (kind=points, /api/satellites). - OMM path handles NORAD cat numbers >= 100000 (no TLE round-trip).
16 lines
246 B
Text
16 lines
246 B
Text
fastapi>=0.115
|
|
uvicorn[standard]>=0.34
|
|
sqlalchemy[asyncio]>=2.0
|
|
asyncpg>=0.30
|
|
nats-py>=2.9
|
|
minio>=7.2
|
|
pydantic>=2.10
|
|
alembic>=1.14
|
|
httpx>=0.28
|
|
feedparser>=6.0
|
|
python-dateutil>=2.9
|
|
structlog>=24.4
|
|
websockets>=14
|
|
cachetools>=5.5
|
|
h3>=4.0
|
|
sgp4>=2.23
|