skymath 0.3.2

Planning-grade astronomy math for astrophotography tooling: angles, equatorial coordinates, sexagesimal parsing and formatting, angular separation and offsets, precession, MJD/JD/calendar conversions, sidereal time, and observer-local quantities (alt-az, airmass, transit).
Documentation
skymath
Copyright 2026 Sjors Robroek

This product includes software ported from astro-math
(https://github.com/gaker/astro-math), Copyright Greg Aker,
licensed under MIT OR Apache-2.0. Ported material: the alt-azimuth
transform (including its zenith/pole degeneracy handling) and the
edge-case scenarios of its test suite.

This product includes data ported from astro-rust
(https://github.com/saurvs/astro-rust), Copyright Saurav Sachidanand,
licensed under MIT: the truncated ELP-2000/82 lunar periodic-term
tables (Meeus tables 47.A/47.B) in src/moon.rs. The galactic rotation,
airmass (Kasten-Young), and atmospheric refraction
(Bennett/Saemundsson) implementations are original to this crate,
validated against published references; all AstroPy reference
vectors are generated in-repo (scripts/gen_astropy_vectors.py).
Per-file provenance is recorded in module documentation.

This product includes the precomputed IAU constellation boundary
table of Roman (1987), "Identification of a Constellation from a
Position", PASP 99, 695 — ADC/CDS catalogue VI/42 (the IAU/Delporte
1930 boundaries as declination-zone records at epoch B1875.0) —
generated into src/constellation_data.rs by
scripts/gen_constellation_table.py. Constellation names follow the
official IAU list.

Portions of this crate are extracted from the sibling crates
target-match and fits-header (Copyright 2026 Sjors Robroek,
Apache-2.0): the angle/equatorial coordinate core, sexagesimal
parsing, precession, and FITS date/MJD conversions.