This library uses trademarks and/or copyrights owned by Paizo Inc., used under Paizo's Fan Content Policy (paizo.com/licenses/fancontent). This library is not published, endorsed, or specifically approved by Paizo. For more information about Paizo Inc. and Paizo products, visit paizo.com.
The Absalom Reckoning is a calendar used in the Pathfinder Roleplaying Game.
A quick little project that I am making into my first deployed package on pypi. It converts standard dates into the Absalom Reckoning Calendar used in the Pathfinder Roleplaying Game.
month: Full month name in AR calendar (e.g. "Erastus")monthShort: Abbreviated month name (e.g. "Era")commonMonth: Common folk month name (e.g. "Fletch")day: Day of the month (1-31)year: Year in AR calendarweekday: Full weekday name (e.g. "Moonday")weekdayShort: Abbreviated weekday name (e.g. "Moon")weekdayNum: Day of week number (1-7, starts with Moonday)monthNum: Month number (1-12)season: Current season (Winter, Spring, Summer, Fall)
convert(): Converts a datetime object into an ArDate objectshort_date(): Returns date in format "Era 10, 4723"long_date(): Returns date in format "Erastus 10, 4723"weekday_date(): Returns date in format "Moonday Erastus 10, 4723"common_long_month(): Returns date with common month in format "Fletch 10, 4723"month_season(): Returns current season as string
pip install AbsalomReckoningConverterOr with uv:
uv pip install AbsalomReckoningConverterfrom datetime import datetime
from AbsalomReckoningConverter import convert
# Convert a date to Absalom Reckoning
ar_date = convert(datetime(2023, 7, 10))
# Print the date in various formats
print(ar_date.long_date()) # "Erastus 10, 4723"
print(ar_date.short_date()) # "Era 10, 4723"
print(ar_date.weekday_date()) # "Moonday Erastus 10, 4723"
print(ar_date.common_long_month())# "Fletch 10, 4723"
print(ar_date.month_season()) # "Summer"Ω
# Create and sync a dev environment
uv sync --all-extras --dev
# Run tests
uv run pytest
# Lint
uv run ruff check .
# Run the CLI
uv run python -m AbsalomReckoningConverter