cron-validator
Unix cron implementation by Python
What it is and what it does
Cron Validator is a Python library for working with Unix cron expressions. It parses and validates cron syntax, tests whether a cron schedule matches a given datetime, generates all execution times matching a cron expression within a date range, and provides a simple scheduler loop for triggering tasks on cron intervals. The package also supports a subset of AWS EventBridge extended cron syntax (the 'L' and 'W' operators for day-of-month and day-of-week fields).
The library depends on python-dateutil and pytz for datetime handling and timezone support. It is a straightforward, single-purpose tool with no external system dependencies—install via pip and import CronValidator or CronScheduler to start using it. The project has been abandoned since June 2023, so it receives no active maintenance.
Use it for:
- Validate user-supplied cron expressions before storing or executing them in an application.
- Find all times a cron schedule will fire between two dates for reporting or audit purposes.
- Build a simple in-process task scheduler that runs callbacks on cron-defined intervals.
- Test whether a specific datetime matches a cron expression in unit tests or data pipelines.
- Parse and work with cron schedules in applications that need to integrate with cron-based workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Validates Unix cron expressions, matches them against specific datetimes, generates execution times within a date range, and provides a scheduler for running tasks on cron schedules.
Yes, if you need lightweight cron expression parsing and scheduling in a Python application and can accept an unmaintained library. The low install friction, permissive license, and zero known vulnerabilities make it a low-risk choice for non-critical scheduling tasks. No, if you require active maintenance, ongoing bug fixes, or support for the full breadth of cron syntax variants.
Install
cron-validator on PyPI
pip
pip install cron-validatoruv
uv add cron-validatorpoetry
poetry add cron-validatorInstalling cron-validator
Before you install
Low friction: pure Python wheel with only two lightweight runtime dependencies (python-dateutil and pytz). Maintenance status is abandoned as of June 2023 with no recent updates, so expect no bug fixes or feature work going forward.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects that can accept an unmaintained dependency.
Quickstart
pip install cron-validator
from cron_validator import CronValidator
assert CronValidator.parse('* * * * *') is not None
assert CronValidator.parse('*/61 * * * *') is None
Verify before relying
- Whether the package handles all edge cases in cron syntax or only a subset of standard Unix cron rules.
- Performance characteristics when generating execution times across large date ranges.
- Compatibility with Python versions not explicitly declared in the package metadata.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — python-dateutil, pytz |
| Maintenance | abandoned — 1,152 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,533,411/month — #3,803 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cron_validator-1.0.8-py3-none-any.whl
Keywords: cron, python, cron expression validator, cron expression iterator, cron scheduler
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
cron-converterParses cron schedule strings into structured…
permissive · top 5,000 on PyPI
pycronParses cron-style schedule strings and…
permissive · top 5,000 on PyPI
cronexEvaluates cron expressions to determine if a…
permissive · top 15,000 on PyPI
cronsimParses and evaluates cron expressions to find…
permissive · top 5,000 on PyPI
quartz-cron-checkerValidates Quartz-style cron expressions against…
unclear · top 15,000 on PyPI
aws-cron-expression-validatorValidates AWS EventBridge cron expressions,…
permissive · top 15,000 on PyPI
cron-schedule-triggersDetermines the next execution times of a…
permissive · top 15,000 on PyPI
aws-croniterParses, validates, and calculates occurrences…
permissive · top 15,000 on PyPI
cron-descriptorConverts cron expressions into human-readable…
permissive · top 1,000 on PyPI
pyawscronParses and iterates over AWS CloudWatch cron…
permissive · top 15,000 on PyPI