Siderust
ActiveAstronomy and celestial-mechanics library for Rust, built for real observation and orbit work.
13 stars
5 forks
Rust
AGPL-3.0
Updated today
Why it exists
Siderust collects the pieces you need for ephemerides, observers, coordinates, and event searches. We keep the library close to the underlying models and validate the results against established references.
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.9.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.
Quick Links
Tags
astronomy ephemeris celestial-mechanics space rust