astroz

High-performance astrodynamics library with SIMD-accelerated SGP4 propagation

GitHub stars PyPI version License
🐍 Python
import astroz

# Propagate Starlink constellation
positions = astroz.propagate("starlink", [0, 60, 120])

# Screen for close approaches
pairs, times = astroz.screen(
    "starlink",
    range(1440),
    threshold=5.0
)

# Get ISS position in geodetic coords
geo = astroz.propagate(
    None,
    [0],
    norad_id=25544,
    output="geodetic"
)
Zig
const astroz = @import("astroz");

// Parse TLE and create propagator
const tle = try astroz.Tle.parse(tle_line1, tle_line2);
var sgp4 = try astroz.Sgp4.init(tle);

// Propagate to 60 minutes after epoch
const state = sgp4.propagate(60.0);

// SIMD batch propagation
var times: [8]f64 = .{ 0, 15, 30, 45, 60, 75, 90, 105 };
const results = sgp4.propagateN(×);