Translate common RRULE recurrence patterns into plain language and preview dates. The command uses explicit UTF-8 JSON input and produces reviewable JSON or Markdown output.
python -m pip install .
rrule-explain examples/sample.json
rrule-explain examples/sample.json --format json --output report.jsonThe example documents the input shape. Version 1.1 correctly preserves month-end intent, clips leap days only when needed, honors interval weeks with BYDAY, and supports ISO or RFC 5545 UNTIL values with explicit truncation evidence. Preview counts are bounded from 1 to 1,000. Existing report files are never overwritten. Source inputs are read-only except where the documented purpose explicitly creates a new output artifact.
The tool runs locally and does not upload input or include telemetry. Python 3.10 or newer is supported on Windows, macOS, and Linux.
The supported subset covers DAILY, WEEKLY, MONTHLY, and YEARLY with INTERVAL, BYDAY, COUNT, and UNTIL. It preserves supplied timezone-aware datetimes but does not calculate timezone rules, DST shifts, or the complete RFC 5545 grammar.
python -m pip install -e ".[dev]"
ruff format --check .
ruff check .
mypy src
pytest
python -m buildThe project is feature-complete for its documented v1 scope. Maintenance focuses on correctness, security, compatibility, and well-supported input improvements.
Part of the Logan Pendragon Forge open-source collection. Licensed under the MIT License.