Recurring Date Pattern Explainer
Preview and explain supported recurring-date rules with strict validation, count/until boundaries and actionable date-range errors.
The problem it solves
Recurring Date Pattern Explainer 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.
Who Recurring Date Pattern Explainer is for
- People who need a small, purpose-built utility instead of a broad platform.
- Users working with RRULE, recurrence, dates who want the documented v1.1.1 behavior.
- People who prefer an open-source release with visible limitations, source, and license terms.
Intended result
Preview and explain supported recurring-date rules with strict validation, count/until boundaries and actionable date-range errors.
This summary is reconciled from the current catalog and repository documentation.
Features in v1.1.1
Capabilities below come from the current project README and release documentation.
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.
Verified examples
Screenshots are shown only when the current README references a local source image. Otherwise, repository example files are linked directly.
Platforms and implementation
The public release claims only the cataloged platforms and technologies.
Supported platforms
- Windows
- macOS
- Linux
Built with
- Python
Changelog
Release notes from the canonical v1.1.1 source tag.
Preview generation stops before advancing once COUNT, preview_count or the inclusive UNTIL boundary has been satisfied. Remaining advances outside Python datetime's supported range fail with an actionable error and produce no CLI output file, including very large intervals. A one-result preview at 9999-12-31 remains valid.
DAILY rules now check weekday reachability using gcd(INTERVAL, 7) before iteration. An unreachable BYDAY without UNTIL fails with an actionable error rather than iterating until datetime overflow; with UNTIL it returns an empty, explicitly truncated preview. Reachable daily rules retain their existing dates. This correction does not extend the supported RFC or DST subset.
RRULE parsing rejects unknown keys, duplicate keys (case-insensitively), empty or malformed key=value fragments and invalid BYDAY tokens before generating dates or writing output. BYDAY accepts only the unnumbered weekday tokens MO,TU,WE,TH,FR,SA,SU; ordinal weekdays are unsupported. The existing DAILY/WEEKLY/MONTHLY/YEARLY subset, interval/count bounds and ISO/RFC UNTIL fixtures remain supported. This is not full RFC 5545 validation and does not model DST rules.
- Corrected month-end, leap-day, and interval-weekday recurrence previews.
- Added
UNTILsupport, preview bounds, timezone-awareness validation, and truncation evidence.
- Released the first complete Recurring Date Pattern Explainer command-line workflow.
- Added deterministic reporting, representative examples, cross-platform tests, and explicit limitations.
Quick start
The shortest documented path into the current release.
Before running these source commands, download the v1.1.1 source archive, extract it, and open a terminal in the extracted project folder containing README.md. Follow the tagged README for required runtimes and any platform-specific setup.
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.
Current limitations
These boundaries are part of the product and prevent the page from implying unverified capability.
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.
Privacy and licensing
Review the actual data boundary before using a tool with sensitive inputs.
Privacy and safety
The tool runs locally and does not upload input or include telemetry. Python 3.10 or newer is supported on Windows, macOS, and Linux.
License and release
Recurring Date Pattern Explainer is published under MIT. The current cataloged release is v1.1.1, published 2026-10-16.
Related projects
Related projects are selected deterministically from shared catalog tags, category, and implementation technologies—not popularity or paid placement.
Recurring Date Pattern Explainer v1.1.1
Use the tagged release for downloads and release notes. Use the repository for source, issues, contribution guidance, security reporting, and complete documentation.
Page source: current Forge catalog plus README and CHANGELOG from the canonical GitHub release tag. Fingerprint: 7f689569d9f2be42.