pyuwsgi
The uWSGI server
What it is and what it does
pyuwsgi is the uWSGI application server packaged as a Python module rather than a standalone binary. It lets you run a production-grade WSGI server directly from Python code or via console scripts (pyuwsgi and uwsgi), with pre-built wheels that bundle common libraries (zlib, pcre, jansson) to avoid compilation on most platforms.
The package is built directly from uWSGI's source without modifications, using a different setup.py to integrate it into the Python ecosystem. It includes the stats_pusher_statsd plugin by default and intentionally omits SSL support from pre-built wheels; SSL can be added by rebuilding locally if needed. It's a drop-in replacement for uWSGI when you want to manage it as a Python dependency rather than a system package.
Use it for:
- Deploy a Python WSGI application as a managed server without installing uWSGI separately on the system.
- Run uWSGI configuration and management entirely within Python code, importing and calling it programmatically.
- Package a complete application server as part of a Python environment or container without relying on system package managers.
- Use the stats_pusher_statsd plugin for metrics collection without additional uWSGI configuration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pyuwsgi packages the uWSGI application server as an importable Python module with pre-built wheels, allowing you to run a WSGI application server directly from Python code or via command-line scripts.
Yes, if you want to manage uWSGI as a Python dependency and avoid system-level installation or compilation. The pre-built wheels cover common platforms and Python versions, and the GPLv2 linking exception removes licensing friction for proprietary projects. No if you need SSL support out of the box or prefer uWSGI as a standalone binary managed outside Python's package ecosystem.
Install
pyuwsgi on PyPI
pip
pip install pyuwsgiuv
uv add pyuwsgipoetry
poetry add pyuwsgiInstalling pyuwsgi
Before you install
Medium install friction due to compiled wheels; pre-built binaries are available for common platforms (macOS, Linux, musl) and Python versions, reducing the need for local compilation in most cases.
License in practice
Licensed under GPLv2 with a linking exception, meaning you can use pyuwsgi unmodified in proprietary projects without triggering GPL obligations on the rest of your codebase.
Quickstart
pip install pyuwsgi
import pyuwsgi
pyuwsgi.run(["--help"])
SSL support is intentionally excluded from pre-built wheels for security; rebuild locally with `pip install --no-binary=pyuwsgi pyuwsgi` if SSL is required.
Verify before relying
- Whether the stats_pusher_statsd plugin inclusion affects typical deployment workflows or adds unexpected dependencies.
- Performance characteristics compared to running uWSGI as a standalone binary in production environments.
- Which Python versions beyond those in the pre-built wheels are supported.
Package facts
| License | GPL2 (copyleft) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 171 days since the last release |
| First released | |
| Downloads | 586,276/month — #5,881 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyuwsgi-2.0.30.post1-cp310-cp310-macosx_10_9_x86_64.whl; pyuwsgi-2.0.30.post1-cp310-cp310-macosx_11_0_arm64.whl; pyuwsgi-2.0.30.post1-cp310-cp310-manylinux_2_28_aarch64.whl; pyuwsgi-2.0.30.post1-cp310-cp310-manylinux_2_28_i686.whl; pyuwsgi-2.0.30.post1-cp310-cp310-manylinux_2_28_x86_64.whl; pyuwsgi-2.0.30.post1-cp310-cp310-musllinux_1_2_aarch64.whl; pyuwsgi-2.0.30.post1-cp310-cp310-musllinux_1_2_i686.whl; pyuwsgi-2.0.30.post1-cp310-cp310-musllinux_1_2_x86_64.whl; pyuwsgi-2.0.30.post1-cp311-cp311-macosx_10_9_x86_64.whl; pyuwsgi-2.0.30.post1-cp311-cp311-macosx_11_0_arm64.whl; pyuwsgi-2.0.30.post1-cp311-cp311-manylinux_2_28_aarch64.whl; pyuwsgi-2.0.30.post1-cp311-cp311-manylinux_2_28_i686.whl; pyuwsgi-2.0.30.post1-cp311-cp311-manylinux_2_28_x86_64.whl; pyuwsgi-2.0.30.post1-cp311-cp311-musllinux_1_2_aarch64.whl; pyuwsgi-2.0.30.post1-cp311-cp311-musllinux_1_2_i686.whl; pyuwsgi-2.0.30.post1-cp311-cp311-musllinux_1_2_x86_64.whl; pyuwsgi-2.0.30.post1-cp312-cp312-macosx_10_13_x86_64.whl; pyuwsgi-2.0.30.post1-cp312-cp312-macosx_11_0_arm64.whl; pyuwsgi-2.0.30.post1-cp312-cp312-manylinux_2_28_aarch64.whl; pyuwsgi-2.0.30.post1-cp312-cp312-manylinux_2_28_i686.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
PasteDeployPasteDeploy loads and configures WSGI…
permissive · top 5,000 on PyPI
uwsgitopA terminal monitoring tool that connects to…
permissive · top 15,000 on PyPI
gunicornGunicorn is a WSGI and ASGI HTTP server for…
permissive · top 1,000 on PyPI
wsgidavWsgiDAV is a WebDAV server implementation in…
permissive · top 15,000 on PyPI
toolA compact modular framework for building WSGI…
copyleft · top 15,000 on PyPI
types-uWSGIProvides type hints for the uWSGI Python API,…
permissive · top 15,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
a2wsgiConverts between WSGI and ASGI applications…
permissive · top 5,000 on PyPI