OrbitalCommons / projects / starfield
Reduce · Rust crate
starfield
Astronomical calculations, star catalogs, and Solar System data in Rust. A shared foundation for turning observations into positions.
Explore the star catalogPut the sky in a coordinate system.
Space data becomes useful when time, position, and reference frame agree. starfield brings those fundamentals together, with a Skyfield-inspired API and optional data sources you can select for your application.
Coordinates
Work with celestial reference frames, precession, nutation, and Earth rotation.
Catalogs
Use Hipparcos and Gaia, or generate a synthetic catalog for repeatable tests.
Solar System
Work with planetary constants, body-fixed frames, and optional JPL clients.
Explore the Hipparcos catalog
Want the whole sky? Open the sky explorer to find named stars, follow the planets, and choose a field to solve.
A magnitude limit is a simple way to explore a star catalog. Lower values select brighter stars; raise the limit to reveal more of the sky.
Click a plotted star, choose a name, or step through the filtered catalog.
- RA · ICRS
- Dec · ICRS
- V magnitude
- B−V index*
Catalog epoch J1991.25; positions rounded to 0.05°. No proper-motion update. *B−V uses 0.60 where unavailable.
Enable JavaScript to explore the catalog.
A browser illustration of catalog filtering, using a bundled Hipparcos subset. Positions are catalog coordinates, not a prediction of tonight’s local sky. The Rust example below runs independently of this visualization. Data sources and encoding notes.
Bring the sky into Rust
cargo add starfield
The default crate includes core calculations and datastore support. Add only the data sources your application needs:
starfield = { version = "0.18.2", features = ["hipparcos"] }
Select the brightest stars
use starfield::catalogs::hipparcos::HipparcosCatalog;
fn main() {
let catalog = HipparcosCatalog::create_synthetic();
let bright = catalog.brighter_than(3.0);
println!("{} stars brighter than magnitude 3", bright.len());
}
This example uses a synthetic catalog, so your first run does not depend on a large download. Move to a real catalog when you are ready to connect observations.
Catalogs, coordinates, and ephemerides
| Feature group | What it adds |
|---|---|
catalogs |
Catalog sources including Hipparcos, Gaia, MAST, and NSA. |
jpl |
Horizons, Small-Body Database, Minor Planet Center, and Rubin clients. |
surfaces |
Planetary maps, reflectance libraries, and reference spectra. |
datastore |
Artifact loading through starfield-datastore. Enabled by default. |
For small consumers, individual features such as
hipparcos and horizons narrow the
dependency set.
See the full feature list →
Examples and feature notes reviewed against starfield 0.18.2. Source & contributions →
Match an observed field to the sky.