cronitor
A lightweight Python client for Cronitor.
Decision gist · record as of 2026-08-14
Yes. Cronitor is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. Install it if you run background jobs or scheduled tasks and want centralized monitoring with minimal code changes—the Celery integration is particularly valuable for teams already using Celery, and the decorator pattern works well for simpler job monitoring needs.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Cronitor API key from https://cronitor.io/settings/api to send telemetry and sync monitors.
- Low install friction with four common runtime dependencies (requests, pyyaml, humanize, urllib3).
- Actively maintained with a recent release and steady commit history.
License · maintenance · safety
MIT License (permissive) — MIT License permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.
last release 2025-10-08 (310 days) · last repo commit 2026-03-26 · 83 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 149,819 downloads/mo, #10,982 on PyPI
Alternatives
Verify before relying
pip install cronitor
import cronitor
cronitor.api_key = 'apiKey123'
@cronitor.job('send-invoices')
def send_invoices_task():
pass
monitor = cronitor.Monitor('heartbeat-monitor')
monitor.ping(state='complete')- Whether Celery 4.0+ is required only for auto-discover or for all Celery integration features.
- Current support status for django-celery-beat, noted as 'in the works' in the description.
- Whether the package supports Python 2 despite the wheel filename indicating py2.py3 compatibility.
What it is and what it does
Cronitor is a Python client for the Cronitor monitoring service, which tracks the execution and health of background jobs, scheduled tasks, and HTTP endpoints. It integrates with Celery to auto-discover and monitor tasks, provides a lightweight decorator for manual job monitoring, and supports sending telemetry events (heartbeats, success/failure signals, metrics) to the Cronitor API. You can also define monitors declaratively in YAML and sync them to Cronitor as part of your deployment process.
The library handles the HTTP communication via requests and urllib3, parses YAML configurations, and provides both programmatic and command-line interfaces. It's designed for teams running background job infrastructure who want centralized visibility into task execution, failures, and performance metrics without extensive custom instrumentation.
Use it for
- Monitor Celery tasks automatically by initializing cronitor.celery with your app and API key, creating monitors and sending pings on task run/success/fail.
- Decorate any Python function with @cronitor.job() to track its execution and alert on failures without modifying the function body.
- Define all monitors in a version-controlled cronitor.yaml file and sync them to Cronitor during deployment using apply_config().
- Send custom telemetry events (heartbeats, metrics, error counts) for long-running jobs to track duration, item counts, and error rates.
- Validate monitor configurations against the Cronitor API before deployment using validate_config() to catch issues early.
- Generate a monitor configuration file from your existing Cronitor dashboard using generate_config() for infrastructure-as-code adoption.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Cronitor is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. Install it if you run background jobs or scheduled tasks and want centralized monitoring with minimal code changes—the Celery integration is particularly valuable for teams already using Celery, and the decorator pattern works well for simpler job monitoring needs.
Install
cronitor on PyPI
Before you install
Low install friction with four common runtime dependencies (requests, pyyaml, humanize, urllib3). Actively maintained with a recent release and steady commit history.
Requires a Cronitor API key from https://cronitor.io/settings/api to send telemetry and sync monitors.
License in practice
MIT License permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the license notice.
Quickstart
pip install cronitor
import cronitor
cronitor.api_key = 'apiKey123'
@cronitor.job('send-invoices')
def send_invoices_task():
pass
monitor = cronitor.Monitor('heartbeat-monitor')
monitor.ping(state='complete')
Verify before relying
- Whether Celery 4.0+ is required only for auto-discover or for all Celery integration features.
- Current support status for django-celery-beat, noted as 'in the works' in the description.
- Whether the package supports Python 2 despite the wheel filename indicating py2.py3 compatibility.
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesrequestspyyamlhumanizeurllib3 |
| Maintenance | Actively maintained 310 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 149,819 / month, #10,982 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: cronitor-4.9.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “background job monitoring”
- cronitorA Python client library for Cronitor that monitors background jobs,…
- rq-dashboardA Flask-based web dashboard for monitoring RQ job queues, workers,…
- saqSAQ is an async job queue framework that runs background tasks using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also APScheduler · rq-scheduler · schedule · aa-taskmonitor · django-celery-beat · celery · scheduler · Flask-APScheduler · django-apscheduler · dvc-task