# Install uwsgi with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Full stack for building hosting services. Version 2.0.31 via Homebrew; verified 2026-07-05.

## Install

```sh
sudo av install brew:uwsgi
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install uwsgi
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add uwsgi
```

  Evidence: Alpine Linux edge package indexes: uwsgi from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install uwsgi
```

  Evidence: Debian stable package indexes: uwsgi from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install python3-uwsgidecorators
```

  Evidence: Fedora Rawhide package metadata: python3-uwsgidecorators from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#uwsgi
```

  Evidence: nixpkgs package indexes: pkgs/by-name/uw/uwsgi/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S uwsgi
```

  Evidence: Arch Linux sync databases: uwsgi from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Ubuntu apt (92%):

```sh
sudo apt install libapache2-mod-ruwsgi
```

  Evidence: Ubuntu 24.04 LTS package indexes: libapache2-mod-ruwsgi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

- zypper (92%):

```sh
sudo zypper install apache2-mod_uwsgi
```

  Evidence: openSUSE Tumbleweed package metadata: apache2-mod_uwsgi from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:uwsgi
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/uwsgi>
- **Version:** 2.0.31
- **Source summary:** Full stack for building hosting services
- **Homepage:** <https://uwsgi-docs.readthedocs.io/en/latest/>
- **Repository:** <https://github.com/unbit/uwsgi>
- **Upstream docs:** <https://uwsgi-docs.readthedocs.io/en/latest>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://files.pythonhosted.org/packages/9f/49/2f57640e889ba509fd1fae10cccec1b58972a07c2724486efba94c5ea448/uwsgi-2.0.31.tar.gz>
- **Last updated:** 2026-07-05T03:36:31Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- uwsgi (cli)
- uwsgi (alias)

## Dependencies

- jansson
- openssl@3
- pcre2
- python@3.14
- sqlite

## Build dependencies

- pkgconf

## Uses from macOS

- curl
- libxcrypt
- libxml2
- openldap
- perl

## Install behavior

- Post-install hook: not defined
- Service: declared
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.0.31
- Package-manager updated: 2026-07-05
- Local data: ok
- Upstream repository: https://uwsgi-docs.readthedocs.io/en/latest/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

uWSGI is an application-server container and hosting stack best known in Python deployment for serving WSGI applications behind web servers such as nginx. Its official documentation presents it as a full stack for hosting services: application servers, proxies, process managers, monitors, plugins, gateways, and the Emperor instance manager.

### Project history

The uWSGI documentation says the project has had users and contributors since 2009 and that the WSGI part of the name is a tribute to Python's Web Server Gateway Interface because WSGI was the first developed plugin. The docs also note that, despite the name, the project grew into a pluggable multi-language hosting system rather than only a Python WSGI server.

uWSGI's architecture evolved around a shared core and plugins. The official index lists request plugins for WSGI, PSGI, Rack, Lua WSAPI, CGI, PHP, Go, gateways for load balancers and routers, loop engines for preforking, threaded, async/evented, and green-thread modes, and the Emperor for managing many instances.

The official project page currently marks uWSGI as being in maintenance mode, with bug fixes and updates for new language APIs rather than rapid feature development. Recent changelog files in the official documentation repository label modern releases as maintenance releases.

### Adoption history

uWSGI became a staple of classic Python web deployment because it connected Python WSGI applications to production web servers and process-management patterns. Official quickstarts and tutorials document Django/nginx setups, Heroku usage, systemd, Upstart, Circus, socket activation, logging, graceful reloads, and many operational modes.

Its adoption also spread beyond Python through plugins and protocol support. The Rack quickstart, for example, explains Ruby/Rack operation, modular distribution packages, nginx integration through the uwsgi protocol, process/thread concurrency, and config-file usage.

### How it is used

The package-nerd usage is usually a system or Homebrew package providing the `uwsgi` executable, with deployments configured through command-line flags or config files in INI, XML, JSON, YAML, and other supported formats. Operators often place uWSGI behind nginx or another front server, run multiple workers, enable the master process, and manage reload behavior.

uWSGI is also a source-build and distro-packaging story. The official build-system docs explain that its build approach dates to 2009 project guidelines and intentionally depends mainly on a C compiler and a Python interpreter, a choice made for sysadmin-oriented source builds and fast project evolution.

### Why package nerds care

uWSGI is significant because it represents the older, operations-heavy side of Python packaging: C extensions, plugin builds, distro-specific modular packages, protocol integration, service managers, config formats, and long-running daemon behavior. It is less fashionable than newer ASGI servers, but it remains a key package in the history of Python deployment tooling.

For maintainers, uWSGI is a reminder that packaging an application server is not just placing a binary on PATH. The package has to account for plugins, language headers, compiler behavior, web-server integration, security fixes, service managers, and maintenance releases across operating systems.

### Timeline

- 2009: Official docs describe the first public release era and thank users and contributors since 2009.
- 2010s: uWSGI expanded around plugins, gateways, loop engines, the Emperor, and multi-language hosting modes.
- 2022-2026: Official project materials describe maintenance mode, and changelogs list maintenance releases for the 2.0 series.

### Related projects

- WSGI is the Python interface that gave uWSGI its name and its first plugin.
- nginx, Apache/mod_proxy_uwsgi, Gunicorn, PSGI, Rack, PHP, Go, Gevent, Greenlet, Tornado, systemd, Upstart, and Circus are related integration or deployment surfaces documented by uWSGI.

### Sources

- <https://github.com/unbit/uwsgi - Official repository describes uWSGI as an application server container and repeats the maintenance-mode note.>
- <https://uwsgi-docs.readthedocs.io/en/latest/ - Official docs describe the project scope, plugin architecture, maintenance mode, and since-2009 note.>
- <https://uwsgi-docs.readthedocs.io/en/latest/BuildSystem.html - Official build-system docs describe 2009 project guidelines and the C-compiler/Python-interpreter build approach.>
- <https://uwsgi-docs.readthedocs.io/en/latest/RackQuickstart.html - Official Rack quickstart documents plugins, nginx integration, workers, master process, and config-file usage.>
- <https://uwsgi-docs.readthedocs.io/en/latest/articles/SerializingAccept.html - Official article describes early project concerns, hosting-company origins, and first public release-era locking work.>


## Security Notes

formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- formula declares a Homebrew service

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** uwsgi
- **Version Scheme:** 0
- **Revision:** 2
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - uwsgi - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, self-healing application container server | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-core - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-core from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, self-healing application container server (core) | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-dev - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, self-healing application container server (headers) | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-emperor - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-emperor from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, self-healing application container server (emperor scripts) | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-extra - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-extra from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | fast, self-healing application container server (extra files) | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-alarm-curl - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-alarm-curl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | cURL alarm plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-alarm-xmpp - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-alarm-xmpp from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | XMPP alarm plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-curl-cron - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-curl-cron from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | cron cURL plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-emperor-pg - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-emperor-pg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Emperor PostgreSQL plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-geoip - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-geoip from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GeoIP plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-graylog2 - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-graylog2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | graylog2 plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-ldap - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-ldap from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | LDAP plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-router-access - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-router-access from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Access router plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-sqlite3 - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-sqlite3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | SQLite 3 configurations plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-plugin-xslt - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-plugin-xslt from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | XSLT request plugin for uWSGI | http://projects.unbit.it/uwsgi/
- Debian apt - uwsgi-src - 2.0.28-9: normalized package name match | Debian stable package indexes: uwsgi-src from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | sources for uWSGI plugins | http://projects.unbit.it/uwsgi/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [pcre2](https://www.automicvault.com/pkg/brew/pcre2/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [sqlite](https://www.automicvault.com/pkg/brew/sqlite/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [glassfish](https://www.automicvault.com/pkg/brew/glassfish/) - Shares av.db curated category or tags: application-server, cli, developer-tools.
- [payara](https://www.automicvault.com/pkg/brew/payara/) - Shares av.db curated category or tags: application-server, cli, developer-tools.
- [tomee-plus](https://www.automicvault.com/pkg/brew/tomee-plus/) - Shares av.db curated category or tags: application-server, cli, developer-tools.
- [tomee-webprofile](https://www.automicvault.com/pkg/brew/tomee-webprofile/) - Shares av.db curated category or tags: application-server, cli, developer-tools.
- [abi3audit](https://www.automicvault.com/pkg/brew/abi3audit/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [auditwheel](https://www.automicvault.com/pkg/brew/auditwheel/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [austin](https://www.automicvault.com/pkg/brew/austin/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [autopep8](https://www.automicvault.com/pkg/brew/autopep8/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [eralchemy](https://www.automicvault.com/pkg/brew/eralchemy/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, openssl, openssl-3.
- [localstack](https://www.automicvault.com/pkg/brew/localstack/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, openssl, openssl-3.
- [moto](https://www.automicvault.com/pkg/brew/moto/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, python, python-3-14.

## Combined YAML source

View the package source record on GitHub. [combined/uwsgi.yml](https://github.com/automic-vault/db/blob/main/combined/uwsgi.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
