--- id: uvicorn-worker version: "0.4.0" license: BSD-3-Clause license_treatment: permissive maintenance: aging --- # uvicorn-worker — Uvicorn worker for Gunicorn! ✨ License: permissive · Maintenance: aging · Downloads: 9.6M/mo ## What it is and what it does Uvicorn Worker is a Gunicorn worker class that runs ASGI applications using Uvicorn's async server engine. It bridges two mature tools: Uvicorn for high-performance async HTTP handling and Gunicorn for robust process management, load balancing, and worker lifecycle control. You install it alongside gunicorn and uvicorn, then pass it to Gunicorn via the `-k uvicorn_worker.UvicornWorker` flag to spawn multiple worker processes, each running an ASGI app instance. The main value is operational: Gunicorn handles worker spawning, graceful restarts, and dynamic scaling without you having to manage those concerns separately. You get Uvicorn's performance for async workloads combined with Gunicorn's battle-tested process supervision. The package supports Python 3.9 through 3.13 and offers an alternative UvicornH11Worker variant for PyPy-compatible environments. Use it for: - Run a FastAPI or Starlette app in production with Gunicorn's multi-process model and automatic worker restart. - Scale ASGI applications horizontally by adjusting Gunicorn's worker count without redeploying or stopping the server. - Perform zero-downtime server upgrades by leveraging Gunicorn's graceful reload while keeping the ASGI app running. - Deploy on PyPy by using the UvicornH11Worker variant for environments where CPython is not available. - Combine async request handling with proven process supervision in a single deployment model. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Integrates Uvicorn's ASGI server with Gunicorn's process manager, allowing you to run ASGI applications under Gunicorn's worker model with dynamic scaling and graceful restarts. Yes, if you need to run ASGI applications under Gunicorn's process management model. The package has low install friction, permissive licensing, and no known vulnerabilities. However, maintenance is aging (no releases in 328 days), so evaluate whether the lack of recent updates poses a risk for your deployment timeline. ## Install pip install uvicorn-worker uv add uvicorn-worker poetry add uvicorn-worker ## Installing uvicorn-worker Before you install: Low friction install with just two runtime dependencies (gunicorn and uvicorn). Maintenance status is aging—last commit was 2025-12-01 and no releases in the past 328 days—so expect slower response to issues. License in practice: BSD-3-Clause is permissive and poses no restrictions on commercial or proprietary use; you can use, modify, and distribute freely as long as you retain the license notice. Quickstart: pip install uvicorn-worker gunicorn example:app -w 4 -k uvicorn_worker.UvicornWorker Requires Python 3.9 or later; gunicorn and uvicorn must be installed as runtime dependencies. Verify before relying: - Whether PyPy support via UvicornH11Worker is fully tested and production-ready - Performance characteristics compared to running Uvicorn standalone or other ASGI worker implementations - Specific known limitations or edge cases in graceful restart or worker scaling behavior ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 9.6M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags gunicorn asgi worker, uvicorn gunicorn integration, asgi application deployment, gunicorn worker class, uvicorn process manager, asgi server with process management, gunicorn asgi runner, asgi-deployment, process-management [View on SkillFed](https://skillfed.io/packages/uvicorn-worker) · [View on PyPI](https://pypi.org/project/uvicorn-worker/)