Compare commits
1 Commits
13805a552f
...
devel
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d9d60c75e |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.3.1] - 2026-04-22
|
||||
|
||||
### Added
|
||||
|
||||
- `Body.EARTH` enum value with `rotation_hours = 23.934`, `orbital_hours = 8766.0`, discovery epoch 1543-01-01 (Copernicus), contact epoch 1969-07-20 (Apollo 11)
|
||||
- `Luna` moon (Earth's Moon): tidally locked, `rotation_hours = orbital_hours = 655.72`, discovery epoch 1609-11-01 (Galileo), contact epoch 1969-07-20 (Apollo 11)
|
||||
- `LUNA` constant exported from `moon.py`
|
||||
|
||||
### Changed
|
||||
|
||||
- `Body.__getitem__` now uses 1-based indexing — `Body.MARS[1]` returns Phobos, `Body.MARS[2]` returns Deimos
|
||||
|
||||
## [1.3.0] - 2026-04-21
|
||||
|
||||
### Added
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "planetarytime"
|
||||
version = "1.3.0"
|
||||
version = "1.3.1"
|
||||
description = "Python library for representing and working with time on other bodies in the Solar System"
|
||||
authors = [
|
||||
{name = "Jan Doubravský", email = "jan.doubravsky@gmail.com"}
|
||||
|
||||
@@ -5,6 +5,7 @@ from datetime import date
|
||||
PLANET_ROWS: list[tuple[str, float, float, date, date | None]] = [
|
||||
('Mercury' , 1407.600, 2111.2800, date(1631, 11, 7), date(2011, 3, 18)),
|
||||
('Venus' , 5832.500, 5392.8000, date(1610, 1, 1), date(1970, 12, 15)),
|
||||
('Earth' , 23.934, 8766.0000, date(1543, 1, 1), date(1969, 7, 20)),
|
||||
('Mars' , 24.600, 16487.2800, date(1610, 1, 1), date(1976, 7, 20)),
|
||||
('Jupiter' , 9.900, 103982.1600, date(1610, 1, 7), None),
|
||||
('Saturn' , 10.700, 258221.2800, date(1610, 7, 25), None),
|
||||
@@ -14,6 +15,7 @@ PLANET_ROWS: list[tuple[str, float, float, date, date | None]] = [
|
||||
|
||||
# (name, rotation_hours, orbital_hours, is_tidally_locked, discovery_date, contact_date | None)
|
||||
MOON_ROWS: list[tuple[str, float, float, bool, date, date | None]] = [
|
||||
('Luna' , 655.720, 655.720, True , date(1609, 11, 1), date(1969, 7, 20)),
|
||||
('Phobos' , 7.653, 7.653, True , date(1877, 8, 18), None),
|
||||
('Deimos' , 30.312, 30.312, True , date(1877, 8, 12), None),
|
||||
('Io' , 42.456, 42.456, True , date(1610, 1, 8), None),
|
||||
|
||||
@@ -11,6 +11,7 @@ from planetarytime.moon import (
|
||||
EUROPA,
|
||||
GANYMEDE,
|
||||
IO,
|
||||
LUNA,
|
||||
MIRANDA,
|
||||
Moon,
|
||||
OBERON,
|
||||
@@ -27,6 +28,7 @@ class Body(Enum):
|
||||
|
||||
MERCURY = "Mercury"
|
||||
VENUS = "Venus"
|
||||
EARTH = "Earth"
|
||||
MARS = "Mars"
|
||||
JUPITER = "Jupiter"
|
||||
SATURN = "Saturn"
|
||||
@@ -58,8 +60,8 @@ class Body(Enum):
|
||||
return self.value
|
||||
|
||||
def __getitem__(self, index: int) -> Moon:
|
||||
"""Return the moon at the given index for this body."""
|
||||
return _MOONS[self][index]
|
||||
"""Return the moon at the given 1-based index for this body."""
|
||||
return _MOONS[self][index - 1]
|
||||
|
||||
|
||||
_ROTATION_HOURS: dict[Body, float] = {
|
||||
@@ -74,6 +76,7 @@ _ORBITAL_HOURS: dict[Body, float] = {
|
||||
_MOONS: dict[Body, list[Moon]] = {
|
||||
Body.MERCURY: [],
|
||||
Body.VENUS: [],
|
||||
Body.EARTH: [LUNA],
|
||||
Body.MARS: [PHOBOS, DEIMOS],
|
||||
Body.JUPITER: [IO, EUROPA, GANYMEDE, CALLISTO],
|
||||
Body.SATURN: [TITAN, ENCELADUS],
|
||||
|
||||
@@ -56,6 +56,7 @@ _MOONS_BY_NAME: dict[str, Moon] = {
|
||||
row[0]: _make_moon(*row) for row in MOON_ROWS
|
||||
}
|
||||
|
||||
LUNA = _MOONS_BY_NAME["Luna"]
|
||||
PHOBOS = _MOONS_BY_NAME["Phobos"]
|
||||
DEIMOS = _MOONS_BY_NAME["Deimos"]
|
||||
IO = _MOONS_BY_NAME["Io"]
|
||||
|
||||
Reference in New Issue
Block a user