Skip to main content

Elegant Cron Expression Output via the CLI

Project description

Croninfo

PyPi Version PyPi License CI Tests Code style: black

Croninfo is a CLI which provides the functionality of parsing cron expressions and rendering an output to ease with understanding the schedule of the cron expression.

The Cron syntax supported is based on the definition provided by FreeBSD.

Getting Started

Python 3.7 to 3.10 supported

To get started, install with pip:

$ python -m pip install croninfo

Usage

CLI

To CLI is provided with one command parse as can be seen below. If any doubts you can run croninfo --help or croninfo <command> --help for further details.

$ croninfo parse "10 0 1,15 * 1-3 /usr/bin/find"
╭─ Cron Expression ──────────────────────────────────────────────────────────────────────────────╮
│ Minute               10                                                                        │
│ Hour                 0                                                                         │
│ Day of Month         1 15                                                                      │
│ Month                1 2 3 4 5 6 7 8 9 10 11 12                                                │
│ Day of Week          1 2 3                                                                     │
│ TZ                   UTC                                                                       │
│ Command              /usr/bin/find                                                             │
│ Next Scheduled Run   2022-08-15T00:10:00+00:00 (in 10 days, 2 hours, 3 minutes and 25 seconds) │
╰─ 10 0 1,15 * 1-3 /usr/bin/find ────────────────────────────────────────────────────────────────╯

This will output with consideration to UTC by default but you can pass --tz-type local to override to be your local timezone, E.G. Europe/London. As shown below:

$ croninfo parse "10 0 1,15 * 1-3 /usr/bin/find" --tz-type local
╭─ Cron Expression ──────────────────────────────────────────────────────────────────────────────╮
│ Minute               10                                                                        │
│ Hour                 0                                                                         │
│ Day of Month         1 15                                                                      │
│ Month                1 2 3 4 5 6 7 8 9 10 11 12                                                │
│ Day of Week          1 2 3                                                                     │
│ TZ                   Europe/London                                                             │
│ Command              /usr/bin/find                                                             │
│ Next Scheduled Run   2022-08-15T00:10:00+01:00 (in 10 days, 1 hour, 2 minutes and 25 seconds)  │
╰─ 10 0 1,15 * 1-3 /usr/bin/find ────────────────────────────────────────────────────────────────╯

Alternatively, you can use the Official Croninfo Docker Image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

croninfo-1.0.1.tar.gz (10.5 kB view hashes)

Uploaded Source

Built Distribution

croninfo-1.0.1-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page