skillfed

PyMeeus

Python implementation of Jean Meeus astronomical routines

pymeeus v0.5.12 2.8M downloads/30d#2,878 on PyPI74
Copyleft license LGPLv3 Active released

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 pymeeus

uv

uv add pymeeus

poetry

poetry add pymeeus

Installing 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

Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.6Topic :: Scientific/Engineering :: Astronomy

Tags

astronomical algorithms pythoncompute moon positionplanetary position calculationsepoch time conversionssolar lunar phenomenacelestial mechanics librarymeeus algorithms implementation
astronomyalgorithmseducational

More Astronomy packages