Changelog
This content is for v1.0.0. Switch to the latest version for up-to-date documentation.
Changelog
Section titled “Changelog”1.0.0 — first independent al-falak release
Section titled “1.0.0 — first independent al-falak release”
al-falakis versioned independently fromadhanpy(a separate PyPI package). Entries below marked1.0.5/1.0.4are upstreamadhanpylineage, kept for provenance.
- Breaking: Package renamed from
adhanpytoalfalak(PyPI:al-falak) - Breaking: Dedicated
AlFalakErrorhierarchy replaces builtins (AstronomicalError,ConfigurationError,ValidationError) - Breaking: Python >= 3.11 required (3.9/3.10 reached end-of-life)
- Fix hour-rollover in
rounded_minute(10:59:31now rounds to11:00) - Polar day/night and undefined Asr now raise with diagnostic messages
- Narrowed bare
except:clauses - Unknown madhab raises
ConfigurationError; non-CalculationMethodmethod raisesTypeError PrayerTimesaccepts aCoordinatesobject as well as a tuple- Method parameters are now copied per instance (no shared globals)
- Ship
py.typed(PEP 561) and complete type annotations - Define the public API surface (
__all__-pinned) - Add
PrayerTimes.time_for_prayer(Prayer)accessor - Add
Qibladirection calculation - Add polar-day/night estimation strategies (
PolarCircleRule) - Add
SunnahTimes(middle and last third of the night) - Add
python -m alfalakCLI - Validate inputs: coordinates, angles, intervals
- Build backend is now hatchling (setup.py removed)
- Dev process: ruff lint gate,
mypy --disallow-untyped-defs
- Fix
AttributeErrorwhen method is not provided or set toNone
- Fix rounding of minutes function incorrectly setting 60 for minutes
- Bring support for Python 3.9