Skip to main content

Siderust

Active

Precision ephemeris and celestial mechanics library for embedded flight software and research pipelines.

7 stars
0 forks
Rust
AGPL-3.0
Updated today

Why it exists

Siderust provides validated astronomical computations for spacecraft navigation, observatory planning, and scientific research. Every algorithm is tested against JPL Horizons, IMCCE, and SOFA data.

Key Features

  • VSOP87 & ELP2000 planetary/lunar ephemerides
  • Type-safe coordinate systems (ICRS, Ecliptic, Topocentric)
  • No unsafe blocks, no hidden allocations
  • Validated against authoritative data

Getting Started

# Add to your Cargo.toml
[dependencies]
siderust = "0.1"

# Compute Mars position
use siderust::{
    bodies::Mars,
    astro::JulianDate,
};
use chrono::Utc;

let jd = JulianDate::from_utc(Utc::now());
let mars = Mars::vsop87e(jd);
println!("{}", mars.position);

Contributing

We welcome contributions! Here's how you can help:

  • 1 Fork the repository and create your branch from main
  • 2 Make your changes and add tests if applicable
  • 3 Ensure all tests pass with cargo test
  • 4 Submit a pull request with a clear description

License

This project is licensed under the AGPL-3.0 license. See the LICENSE file for details.

Tags

astronomy ephemeris celestial-mechanics space rust