astronomia
Astronomical algorithms in Dart — positions of Sun, Moon, and planets, eclipses, phases, coordinates, magnitudes, and more. Based on Jean Meeus's "Astronomical Algorithms".
1.1.1
dmvvilela/astronomia
What this package is like to depend on
Last release 20 days ago
04 Aug 2026
Ships on a steady schedule
a new release about every 2 months
Nearly every release is documented
notes for 8 of 8 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
8 releases · first in 2026
8 releases in the last 12 months
see the full history below
Release timeline
8 releases · Mar 2026 to Aug 2026Releases
latest 8-
1.1.104 Aug 2026Release notes
Open source →- Fix
sunrise.sunriseSunset()placing sunrise, solar noon, and sunset about twelve hours early. - Refine solar events against the apparent solar altitude, accounting for the equation of time and the Sun's changing declination during the day.
- Fix
-
1.1.003 Aug 2026Release notes
Open source →- Add
eclipse.localSolar()for observer-specific solar-eclipse visibility, local type, magnitude, obscuration, maximum, and Sun altitude. - Validate local solar circumstances against NASA's 2026 annular and total eclipse paths, including daylight locations outside the eclipse footprint.
- Add
-
1.0.011 Jun 2026Release notes
Open source →First stable release. Full audit against Meeus worked examples and the Go/JS reference implementations.
Algorithm fixes:
eqtime.e()— use VSOP87 true position + aberration (wasposition2000without aberration).solardisk.ephemeris()— usetrueVSOP87+ aberration per Meeus Ch. 29.saturnring.ring()— FK5 corrections, aberration, nutation on ring pole, corrected B′.apsisperigee parallax — complete Table 50.A coefficient series (16 missing terms).sidereal.apparent()— new function; fix nutation epoch inapparent0UT.moonphase— book-accurate A1/A7 constants and quarter-phase E factor (from 0.3.3).
Tests: 219 tests, Meeus worked examples tightened to book precision across moon, solar, nutation, sidereal, eqtime, solardisk, apsis, kepler, precess, pluto, julian, globe, and related modules.
-
0.3.214 Mar 2026Release notes
Open source →- Rename VSOP87 data files to
lower_case_with_underscores(fixes 8file_nameslint issues). - Remove unused imports and variables across test files.
- Fix unnecessary brace in string interpolation in
sexagesimal.dart. - Zero
dart analyzeissues.
- Rename VSOP87 data files to
-
0.3.108 Mar 2026Release notes
Open source →- Add
lib/<module>.dartpublic re-export files for all modules (fixesimplementation_importslint). - Add missing
lib/base.dartre-export, remove emptynodedirectory.
- Add
-
0.3.008 Mar 2026Release notes
Open source →- All 56 modules complete — no more stubs.
- Mars physical ephemeris — planetocentric declinations, areographic meridian, position angles, illuminated fraction (Ch. 42).
- Moon physical libration — optical + physical librations, selenographic Sun coordinates, sunrise/sunset on lunar surface, 52-feature catalog (Ch. 53).
- Saturn moons — positions of all 8 major moons (Mimas through Iapetus) in Saturn radii (Ch. 46).
- Planetary conjunctions — Len5 interpolation for planetary and stellar conjunctions (Ch. 18).
- Solar VSOP87 — added
trueVSOP87()andapparentVSOP87()high-accuracy functions. - Public re-export files — every module now has a
lib/<module>.dartre-export. Import aspackage:astronomia/solar.dartinstead of reaching intosrc/. No moreimplementation_importslint. - 216 tests passing.
-
0.2.008 Mar 2026Release notes
Open source →- VSOP87 planetary positions — full heliocentric coordinates for all 8 planets via
planetpositionmodule. - Rise/transit/set — Meeus ch. 15 refined algorithm with 3-day interpolation. Includes
moonTimes()with lunar parallax correction. - Geocentric planet positions —
elliptic.position()with light-time correction, aberration, FK5, nutation. - Equation of time — high-accuracy
e()and simplifiedeSmart(). - Solar disk ephemeris — P, B0, L0 for physical observations of the Sun.
- Saturn ring geometry — B, B', ΔU, P, and ring axes.
- Ecliptic aberration —
apparent.eclipticAberration()for ecliptic coordinates. - Apparent sidereal time —
sidereal.apparent0UT()with nutation correction. - Cleaned up barrel file — non-conflicting foundational exports only, specialized modules imported directly.
- Fixed all lint warnings. 202 tests passing.
- VSOP87 planetary positions — full heliocentric coordinates for all 8 planets via
-
0.1.008 Mar 2026Release notes
Open source →- Initial release with 45 fully ported modules from Meeus's "Astronomical Algorithms".
- Sun: position, solstices, sunrise/sunset, equation of time.
- Moon: position, phases, illumination, nodes, apsis, max declination.
- Planets: Kepler solvers, orbital elements, conjunctions, oppositions, Pluto.
- Coordinates: ecliptic/equatorial/horizontal/galactic, precession, nutation, parallax, refraction.
- Misc: eclipses, Easter, magnitudes, binary stars, geodesy, angular separation, sundials.
- 12 modules stubbed pending VSOP87 planetary theory data.