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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file croninfo-1.0.1.tar.gz.

File metadata

  • Download URL: croninfo-1.0.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for croninfo-1.0.1.tar.gz
Algorithm Hash digest
SHA256 eac4128715a5edfe35771e9c3e1cea543bbfbdd620bb90e838dcd475727da341
MD5 683b7d7c91c4e95fd7d014ee8c5b49c8
BLAKE2b-256 2f5883742baa773b1dfd8123670ea252f41531de7bc09c50160f27e22c8e8a8b

See more details on using hashes here.

File details

Details for the file croninfo-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: croninfo-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for croninfo-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 93c596b202ea0e0b9fdab626a0fb22fd5f7382514183ed4e8b43e823e5991f70
MD5 dedab0eb53ee61734f3a501477bc2f56
BLAKE2b-256 d547919fb8198ae4341afd680709bd500d1ebbee43ef4900775021325977470b

See more details on using hashes here.

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