skillfed

uvicorn-worker

Uvicorn worker for Gunicorn! ✨

uvicorn-worker v0.4.0 9.6M downloads/30d#1,526 on PyPI123
Permissive license BSD-3-Clause AGING released

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-worker

uv

uv add uvicorn-worker

poetry

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 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

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9

Tags

gunicorn asgi workeruvicorn gunicorn integrationasgi application deploymentgunicorn worker classuvicorn process managerasgi server with process managementgunicorn asgi runner
asgi-deploymentprocess-management

More Dynamic Content packages