skillfed

cron-converter

Cron string parser and scheduler for Python

cron-converter v1.3.1 2.4M downloads/30d#3,089 on PyPI48
Permissive license MIT Active released

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 on this page — 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

cron-converter on PyPI

pip

pip install cron-converter

uv

uv add cron-converter

poetry

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 the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — python-dateutil
Maintenance actively maintained — 255 days since the last release
Last repo commit
First released
Downloads 2,390,119/month — #3,089 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: cron_converter-1.3.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: System AdministratorsOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyTopic :: Software Development :: Libraries :: Python Modules

Tags

cron schedule parsercron expression to datetimenext cron execution timecron string validatorschedule iterator croncron frequency comparisonparse cron syntax
schedulingcron-parserdatetime-iterator

More Python Modules packages