--- id: cron-converter version: "1.3.1" license: MIT license_treatment: permissive maintenance: active --- # cron-converter — Cron string parser and scheduler for Python License: permissive · Maintenance: active · Downloads: 2.4M/mo ## What it is and what it does Cron-converter is a Python cron expression parser and scheduler that converts between cron string syntax and structured representations, then generates execution times. It parses standard 5-field cron expressions (minute, hour, day, month, weekday) into lists of valid values or back to string form, and provides an iterator to find the next or previous execution time relative to any datetime. The package supports timezone-aware scheduling via python-dateutil, optional output formatting with month and weekday names, and can validate whether a given datetime matches a cron schedule. The package implements Python's iterator protocol, so you can use standard iteration patterns like islice() or for-loops to walk through scheduled execution times. It also supports comparing cron schedules by frequency and can work with both naive and timezone-aware datetime objects. The main constraint is that the schedule iterator is infinite by design, so you must always apply a limit (islice, break condition, or date check) to avoid infinite loops. Use it for: - Build a job scheduler that finds the next N execution times for a cron-defined task without external dependencies. - Validate user-provided cron expressions and check if a specific datetime falls within the schedule. - Convert between cron string syntax and human-readable formats (e.g., '0 9 * * 1-5' → '9 AM weekdays'). - Compare scheduling frequencies to determine which cron expression runs more or less often. - Generate execution time sequences for reporting or UI display, respecting timezone and DST rules. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses cron schedule strings into structured formats and generates next/previous execution times for datetime objects using cron-like scheduling rules. Yes. Low install friction, active maintenance, no known vulnerabilities, and a permissive MIT license make this a safe choice. Install it if you need to parse cron expressions, iterate over scheduled times, or validate datetimes against cron rules. The single dependency on python-dateutil is stable and widely used. Avoid it only if you need sub-minute scheduling (cron-converter does not support seconds). ## Install pip install cron-converter uv add cron-converter poetry add cron-converter ## Installing cron-converter Before you install: Low friction: pure Python wheel with a single runtime dependency on python-dateutil. Actively maintained with recent commits and stable production status. License in practice: MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects without restriction. Quickstart: from cron_converter import Cron from datetime import datetime cron = Cron('*/5 * * * *') schedule = cron.schedule(datetime.now()) next_time = schedule.next() print(next_time.isoformat()) Requires Python 3.8 or later; schedule iterator is infinite—always use itertools.islice() or explicit break conditions to avoid hanging. Verify before relying: - Whether timezone handling works correctly with all dateutil-supported timezone formats beyond the documented examples. - Performance characteristics when iterating over large numbers of schedule occurrences. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 2.4M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags cron schedule parser, cron expression to datetime, next cron execution time, cron string validator, schedule iterator cron, cron frequency comparison, parse cron syntax, scheduling, cron-parser, datetime-iterator [View on SkillFed](https://skillfed.io/packages/cron-converter) · [View on PyPI](https://pypi.org/project/cron-converter/)