Skip to main content

A simple integration for CronMon

Project description

Static Badge CI codecov Ruff Code style: black Checked with mypy

cron-mon-py

A simple Python package to make using CronMon in your cron jobs and scheduled tasks quick and easy.

Installation

cron-mon-py can be installed via pip - or your Python package manager of choice - like any other Python package you might install

pip install cron-mon-py

cron-mon-py isn't currently published anywhere, so this doesn't work just yet. You can however, install from Git

pip install git+https://github.com/cron-mon-io/cron-mon-py.git

Example

Simply import the monitor decorator and use it on any function that serves as the entry point to your cron job/ scheduled task that you wish to monitor:

You'll need to have setup a Monitor and an API key within CronMon itself, and have exposed the API key in an environment variable called CRON_MON_API_KEY.

from cron_mon import monitor

# Replace <your-monitor-id> with your actual Monitor ID
@monitor("<your-monitor-id>")
def cron_job():
    """Your cron job code here"""
    ...

Development

Setting up a development environment

cron-mon-py uses uv to manage dependencies, so you'll need uv installed to get setup to work on cron-mon-py. You can either install uv on your machine, or you can use the dev container provided in the repository if your IDE supports dev containers (hint: it's very well supported on Visual Studio Code).

Once you have uv setup, you can use the Makefile provided to install all dependencies and run the tests. The available commands are as follows:

  • install: Install all of the required dependencies to work on cron-mon-py
  • static-tests: Run static tests via ruff and mypy
  • unit-tests: Run unit tests via pytest
  • test: Run all of the available tests for cron-mon-py (static-tests and unit-tests)
  • build: Build the package
  • docs: Build the package's docs
  • serve-docs: Serve the package's documentation with hot-reload
  • format: Autoformat the code with ruff*

*You can avoid having to use make format if you setup your IDE to autoformat on save. The provided dev container has this already setup for you.

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

cron_mon_py-0.1.0.tar.gz (55.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cron_mon_py-0.1.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file cron_mon_py-0.1.0.tar.gz.

File metadata

  • Download URL: cron_mon_py-0.1.0.tar.gz
  • Upload date:
  • Size: 55.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.4.24

File hashes

Hashes for cron_mon_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 172d40d5c96f7676ef844a43f87232e9b03d27eb660a33022d206f36344781ba
MD5 1eda1ce3fa1187a48f9f293558cd9837
BLAKE2b-256 6c8ef14d94ccd342096100864a2a63545cddc37eea200271bc273d8cffd9e0b6

See more details on using hashes here.

File details

Details for the file cron_mon_py-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cron_mon_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 865e0a1d6099f416b11e6acdf21105fcaf7da37aaef1214812e662e1ccd55ab7
MD5 5164da8d9ce21b2ee3e3af692aada688
BLAKE2b-256 4619c3bc997725e8aa4cad2b22bedc002f017ed32f2b033e6a8881112aafb864

See more details on using hashes here.

Supported by

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