PyMeeus
Python implementation of Jean Meeus astronomical routines
What it is and what it does
PyMeeus is a pure-Python library that translates the algorithms from Jean Meeus's 'Astronomical Algorithms' (2nd Edition, 1998) into executable code. It provides classes and methods for computing celestial phenomena—lunar phases, planetary positions, solar events, eclipse data, and time conversions—without external compiled dependencies. The library is designed for simplicity and readability rather than maximum speed or precision.
The package is organized as a collection of modules (Epoch, Angle, Coordinates, Moon, Sun, Planet, Saturn, Jupiter, etc.), each exposing classes and methods for specific astronomical tasks. It is commonly used in educational settings, hobbyist astronomy projects, and applications where ease of understanding and minimal setup matter more than professional-grade accuracy or performance.
Use it for:
- Calculate the Moon's phase and position on a given date for educational astronomy projects or planetarium software.
- Compute sunrise, sunset, and solar event times (solstices, equinoxes) for a specific location and date.
- Determine the positions of planets and Jupiter's Galilean moons for amateur astronomy observation planning.
- Convert between different astronomical time scales (UTC, TT, JDE) and epoch formats in calendar applications.
- Verify or teach the classical Meeus algorithms in an academic or tutorial context without external dependencies.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyMeeus implements astronomical algorithms from Jean Meeus's classical reference, providing Python classes for computing celestial positions, lunar phases, planetary phenomena, and time conversions with minimal dependencies.
Yes, if you need straightforward astronomical calculations for education, hobby projects, or applications where simplicity and minimal dependencies outweigh the need for cutting-edge precision or frequent updates. The library is stable, well-documented, and carries no known vulnerabilities. However, verify Python version compatibility first and consider whether other libraries better suit production-grade use cases. The long release gap since 2022-12-11 suggests infrequent maintenance.
Install
pymeeus on PyPI
pip
pip install pymeeusuv
uv add pymeeuspoetry
poetry add pymeeusInstalling PyMeeus
Before you install
Install friction is high—the package is distributed as a source tarball with no compiled dependencies, but has not been updated since 2022-12-11, despite the repository remaining active. Maintenance status is marked active, though the release gap suggests infrequent updates.
License in practice
PyMeeus is licensed under LGPLv3 (copyleft). This means you may use, modify, and distribute it freely, but any derivative work must also be licensed under LGPLv3 and source code must be made available. Proprietary projects should review this constraint carefully.
Quickstart
pip install pymeeus
from pymeeus.Epoch import Epoch
from pymeeus.Angle import Angle
mydate = Epoch(1992, 10, 13.0)
angle = Angle(11.94524)
PyMeeus is a library of multiple modules, not a single module—you must import specific submodules (e.g., `from pymeeus.Epoch import Epoch`) rather than `import pymeeus` directly.
Verify before relying
- Current Python version support beyond the classifiers (2.7, 3.6) listed—whether it works on modern Python versions is not explicitly stated.
- Precision and accuracy of astronomical calculations relative to the original Meeus reference or other libraries.
- Whether the package is suitable for production-grade astronomical applications or primarily for educational use.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | actively maintained — 1,342 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,814,514/month — #2,878 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyMeeus-0.5.12.tar.gz
Keywords: Meeus, astronomy, module, library
Tags
More Astronomy packages
Albumentations applies image transformations to…
permissive · top 5,000 on PyPI
convertdateConverts dates between the Gregorian calendar…
permissive · top 5,000 on PyPI
jdcalConverts between Julian dates and Gregorian or…
permissive · top 5,000 on PyPI
pyerfaPyERFA wraps the ERFA C library (Essential…
permissive · top 5,000 on PyPI
ephemPyEphem computes high-precision positions of…
permissive · top 5,000 on PyPI
numpy-quaternionAdds a quaternion dtype to NumPy, enabling…
permissive · top 5,000 on PyPI
jplephemLoads and queries JPL ephemeris files (SPK…
permissive · top 5,000 on PyPI
pyorbitalPyorbital computes orbital parameters from TLE…
permissive · top 15,000 on PyPI
skyfield-dataProvides pre-packaged astronomical data files…
permissive · top 15,000 on PyPI
skyfieldSkyfield computes high-precision positions for…
permissive · top 15,000 on PyPI
sgp4Computes satellite positions in Earth orbit…
permissive · top 5,000 on PyPI
reprojectReproject astronomical images between different…
permissive · top 15,000 on PyPI
gwcsGWCS provides tools for managing World…
unclear · top 15,000 on PyPI
photutilsPhotutils provides tools for detecting and…
permissive · top 15,000 on PyPI