--- id: judoscale version: "1.13.4" license: MIT license_treatment: permissive maintenance: active --- # judoscale — Official Python package for the Judoscale autoscaler License: permissive · Maintenance: active · Downloads: 121.9K/mo ## 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 above — 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 pip install judoscale uv add judoscale poetry add judoscale ## Installing 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_current - Install friction: low - Maintenance: active - Downloads: 121.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags autoscaling metrics collection, request queue time monitoring, job queue latency tracking, django flask fastapi scaling, celery dramatiq rq integration, heroku judoscale adapter, autoscaling, queue-metrics, heroku-addon [View on SkillFed](https://skillfed.io/packages/judoscale) · [View on PyPI](https://pypi.org/project/judoscale/)