moonkit
A unified Python toolkit for lunar science.
Moon motion, eclipses, visibility, surface illumination, and lunar coordinates behind one consistent API.
Status: early development. Nothing is usable yet. Version 0.0.1 is a name-reserving placeholder.
pip install moonkit
Planned modules
Scope for the first releases. None of these are implemented.
-
Motion & orbit
plannedPositions, phases, nodes, and libration from ephemeris-backed routines.
-
Eclipses & events
plannedLunar and solar eclipse prediction, syzygies, and contact times.
-
Crescent visibility
plannedClassical and modern criteria for young crescent sighting.
-
Surface illumination
plannedSolar incidence, terminator geometry, and shadow conditions.
-
Selenographic frames
plannedConversions between mean-Earth, principal-axis, and body-fixed frames.
-
Lunar calendars
plannedLunation numbering and conversion across historical conventions.
What it might look like
from moonkit import Observer, moon
site = Observer(lat=51.48, lon=-0.00)
pos = moon.position(
site, at="2026-03-03T18:20Z")
print(pos.altitude) # degrees up
print(pos.azimuth) # degrees east
print(pos.illumination) # 0 to 1Illustrative API sketch. Not implemented yet.