uvicorn-worker
Uvicorn worker for Gunicorn! ✨
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 on this page — 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
uvicorn-worker on PyPI
pip
pip install uvicorn-workeruv
uv add uvicorn-workerpoetry
poetry add uvicorn-workerInstalling 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 the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — gunicorn, uvicorn |
| Maintenance | aging — 328 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 9,551,656/month — #1,526 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: uvicorn_worker-0.4.0-py3-none-any.whl
Tags
More Dynamic Content packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
soupsieveSoupsieve is a CSS selector library designed to…
permissive · top 100 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
MakoMako compiles Python-embedded templates into…
permissive · top 1,000 on PyPI
gunicornGunicorn is a WSGI and ASGI HTTP server for…
permissive · top 1,000 on PyPI
uvicornUvicorn is an ASGI web server that runs async…
permissive · top 100 on PyPI
gravityGravity manages multiple Galaxy server…
permissive · top 15,000 on PyPI
granianGranian is a Rust-based HTTP server that runs…
permissive · top 5,000 on PyPI
gunicorn_h1cFast HTTP/1.1 request and response parser for…
permissive · top 15,000 on PyPI
HypercornHypercorn is an ASGI and WSGI web server…
permissive · top 5,000 on PyPI
timing-asgiTiming-asgi is an ASGI middleware that…
unclear · top 15,000 on PyPI
servestaticServeStatic serves static files efficiently…
permissive · top 15,000 on PyPI
cotyledonCotyledon provides a framework for building…
permissive · top 15,000 on PyPI
taskiqTaskiq is an asynchronous distributed task…
permissive · top 5,000 on PyPI