PackageTrack
Sign in Get early access

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 2026
Release Pre-release

Releases

latest 8
  1. 1.1.1 04 Aug 2026
    Release notes
    • 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.
    Open source →
  2. 1.1.0 03 Aug 2026
    Release notes
    • 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.
    Open source →
  3. 1.0.0 11 Jun 2026
    Release notes

    First stable release. Full audit against Meeus worked examples and the Go/JS reference implementations.

    Algorithm fixes:

    • eqtime.e() — use VSOP87 true position + aberration (was position2000 without aberration).
    • solardisk.ephemeris() — use trueVSOP87 + aberration per Meeus Ch. 29.
    • saturnring.ring() — FK5 corrections, aberration, nutation on ring pole, corrected B′.
    • apsis perigee parallax — complete Table 50.A coefficient series (16 missing terms).
    • sidereal.apparent() — new function; fix nutation epoch in apparent0UT.
    • 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.

    Open source →
  4. 0.3.2 14 Mar 2026
    Release notes
    • Rename VSOP87 data files to lower_case_with_underscores (fixes 8 file_names lint issues).
    • Remove unused imports and variables across test files.
    • Fix unnecessary brace in string interpolation in sexagesimal.dart.
    • Zero dart analyze issues.
    Open source →
  5. 0.3.1 08 Mar 2026
    Release notes
    • Add lib/<module>.dart public re-export files for all modules (fixes implementation_imports lint).
    • Add missing lib/base.dart re-export, remove empty node directory.
    Open source →
  6. 0.3.0 08 Mar 2026
    Release notes
    • 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() and apparentVSOP87() high-accuracy functions.
    • Public re-export files — every module now has a lib/<module>.dart re-export. Import as package:astronomia/solar.dart instead of reaching into src/. No more implementation_imports lint.
    • 216 tests passing.
    Open source →
  7. 0.2.0 08 Mar 2026
    Release notes
    • VSOP87 planetary positions — full heliocentric coordinates for all 8 planets via planetposition module.
    • Rise/transit/set — Meeus ch. 15 refined algorithm with 3-day interpolation. Includes moonTimes() with lunar parallax correction.
    • Geocentric planet positionselliptic.position() with light-time correction, aberration, FK5, nutation.
    • Equation of time — high-accuracy e() and simplified eSmart().
    • Solar disk ephemeris — P, B0, L0 for physical observations of the Sun.
    • Saturn ring geometry — B, B', ΔU, P, and ring axes.
    • Ecliptic aberrationapparent.eclipticAberration() for ecliptic coordinates.
    • Apparent sidereal timesidereal.apparent0UT() with nutation correction.
    • Cleaned up barrel file — non-conflicting foundational exports only, specialized modules imported directly.
    • Fixed all lint warnings. 202 tests passing.
    Open source →
  8. 0.1.0 08 Mar 2026
    Release notes
    • 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.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive