Translate cron expressions into plain English from your terminal. No dependencies, no daemon, no config — just pipe a cron line in and get a sentence out.
$ cronlingo "*/15 9-17 * * 1-5"
Every 15 minutes, between 09:00 and 17:59, Monday through Friday.
$ cronlingo "0 4 1 * *"
At 04:00, on day 1 of the month.
$ cronlingo "30 2 * * 0,6"
At 02:30, on Sunday and Saturday.
Cron syntax is dense. When you stare at */7 0,12 1-15 */2 1 you should
not have to mentally simulate the parser. cronlingo does that for you,
in one shot, with zero install friction.
git clone https://github.com/miasus-agentic/cronlingo.git
cd cronlingo
pip install -e .
Or just run it directly — it's a single file with no third-party deps:
python -m cronlingo "*/5 * * * *"
cronlingo "<cron expression>"
cronlingo --next "<cron expression>" # also print the next 3 fire times
cronlingo --check "<cron expression>" # exit 0 if valid, 1 otherwise
Supported field syntax:
*— every valuen— exact valuea,b,c— lista-b— inclusive range*/nora-b/n— step values- Day-of-week names:
SUN MON TUE WED THU FRI SAT(case-insensitive) - Month names:
JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
5-field cron only (minute, hour, day-of-month, month, day-of-week). The
non-standard 6th "seconds" field and the Quartz ? / L / W / #
extensions are intentionally out of scope.
python -m unittest discover -s tests -v
MIT — see LICENSE.