v0.6.0
Breaking Changes
Removed APIs
- Sgp4 class - Single satellite propagator removed from Python bindings
- load_constellation() - Backward compatibility alias removed
- min_distances() - Standalone function removed
- coarse_screen() - Standalone function removed
- WGS84 constant - No longer exported
Constellation class changes
- propagate() method removed from class (now a module-level function)
- metadata property and with_metadata parameter removed
- batch_size property removed
- out parameter for pre-allocated output removed
New API
The Python API is now simplified to two main functions:
from astroz import Constellation, propagate, screen
# Parse TLEs once for repeated use
c = Constellation("starlink")
# Propagate satellites
positions = propagate(c, times, start_time=dt, output="ecef")
positions, velocities = propagate(c, times, velocities=True)
# Conjunction screening - single target (fastest, fused propagate+screen)
min_dists, t_indices = screen(c, times, threshold=10.0, target=0)
# Conjunction screening - all-vs-all
pairs, t_indices = screen(c, times, threshold=10.0)Migration Guide
Propagating a constellation:
# Before
c = Constellation("starlink")
positions = c.propagate(times)
# After
c = Constellation("starlink")
positions = propagate(c, times)Loading a constellation:
# Before
c = load_constellation("starlink")
# After
c = Constellation("starlink")Conjunction screening:
# Before
positions = c.propagate(times)
pairs = coarse_screen(positions, threshold=10.0)
distances, t_indices = min_distances(positions, pairs)
# After
pairs, t_indices = screen(c, times, threshold=10.0)
Single-target screening:
# Before
positions = c.propagate(times)
pairs = coarse_screen(positions, threshold=10.0)
# ... filter pairs for target ...
# After (faster - fused propagate+screen)
min_dists, t_indices = screen(c, times, threshold=10.0, target=0)Single satellite propagation:
# Before
sgp4 = Sgp4(tle)
pos, vel = sgp4.propagate(30.0)
# After
positions = propagate(tle_string, [30.0])What's Changed
- conjunction screening returns incorrect tuple value by @ATTron in #63
- update sgp4 example to use propagateN by @arrufat in #66
- Update zignal dependency by @arrufat in #65
- faster conjunction by @ATTron in #64
Full Changelog: v0.5.0...v0.6.0