judoscale
Official Python package for the Judoscale autoscaler
What it is and what it does
Judoscale is the official Python adapter for the Judoscale autoscaler service. It instruments web frameworks (Django, Flask, FastAPI, Starlette, Quart) and background job processors (Celery with Redis, Dramatiq with Redis, RQ) to measure request queue times and job queue latencies, then reports these metrics back to Judoscale for autoscaling decisions.
The package works by installing framework-specific middleware or integrations that hook into the request/job lifecycle. You install it with extras matching your stack (e.g., `judoscale[django]`, `judoscale[celery-redis]`), configure it minimally in your application settings, and it runs in the background collecting and reporting metrics. It depends only on requests for HTTP communication and supports Python 3.10+.
Use it for:
- Monitor request queue latency in Django, Flask, or FastAPI applications deployed on Heroku or similar platforms using Judoscale.
- Track Celery job queue depth and age with Redis broker to enable automatic worker scaling based on queue backlog.
- Collect Dramatiq or RQ job queue metrics to feed into Judoscale's autoscaling engine for background task processing.
- Instrument ASGI applications (FastAPI, Starlette, Quart) to capture request queue times without manual metric collection code.
- Customize queue monitoring for Celery by specifying which queues to track and setting a maximum number of queues to report on.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Judoscale is a Python adapter that integrates with the Judoscale autoscaler to capture request queue time metrics from web frameworks and job queue time metrics from background job processors.
Yes, if you use Judoscale and run Django, Flask, FastAPI, Celery, Dramatiq, or RQ. The adapter is actively maintained, has no known vulnerabilities, and low install friction. Install only if you have a Judoscale subscription and are running one of the supported frameworks; it is not useful standalone.
Install
judoscale on PyPI
pip
pip install judoscaleuv
uv add judoscalepoetry
poetry add judoscaleInstalling judoscale
Before you install
Low install friction with a single runtime dependency (requests). Active maintenance with a recent release (70 days ago) and ongoing repository activity.
License in practice
MIT license permits use, modification, and distribution with minimal restrictions—suitable for most commercial and open-source projects.
Quickstart
# For Django:
pip install 'judoscale[django]'
# In settings.py:
INSTALLED_APPS = ["judoscale.django", ...]
# For Flask:
pip install 'judoscale[flask]'
from judoscale.flask import Judoscale
app = Flask("MyApp")
judoscale = Judoscale(app)
# For Celery:
pip install 'judoscale[celery-redis]'
from judoscale.celery import judoscale_celery
judoscale_celery(celery_app)
Requires Python 3.10 or later. Celery integration requires Redis 6.0+ as the broker.
Verify before relying
- Whether the package works with Python 3.12+ (classifiers list only 3.10 and 3.11)
- Performance overhead of queue time metric collection in high-throughput applications
- Compatibility with custom ASGI frameworks beyond FastAPI, Starlette, and Quart
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | actively maintained — 70 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 121,946/month — #11,966 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: judoscale-1.13.4-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
django-rqDjango-RQ integrates RQ (Redis Queue) with…
permissive · top 5,000 on PyPI
django-dramatiqIntegrates Dramatiq, a distributed task queue,…
unclear · top 15,000 on PyPI
opentelemetry-instrumentation-asgiProvides ASGI middleware for OpenTelemetry that…
permissive · top 1,000 on PyPI
timing-asgiTiming-asgi is an ASGI middleware that…
unclear · top 15,000 on PyPI
honeybadgerHoneybadger captures uncaught exceptions in…
permissive · top 15,000 on PyPI
vercel-workersPython SDK for publishing and consuming…
permissive · top 5,000 on PyPI
opentelemetry-util-httpProvides ASGI and WSGI middleware and HTTP…
permissive · top 1,000 on PyPI
rqRQ is a Python library for queueing jobs and…
permissive · top 5,000 on PyPI
dramatiqDramatiq is a distributed task processing…
copyleft · top 5,000 on PyPI
sparkmeasureSparkMeasure provides a Python API to collect…
permissive · top 5,000 on PyPI