# Install uvicorn with Homebrew, apk, apt, pacman

ASGI web server. Version 0.52.1 via Homebrew; verified 2026-08-02. Also installable with debian: sudo apt install uvicorn.

## Install

```sh
sudo av install brew:uvicorn
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install uvicorn
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add uvicorn
```

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

- Debian apt (92%):

```sh
sudo apt install uvicorn
```

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

- pacman (92%):

```sh
sudo pacman -S uvicorn
```

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

## Package facts

- **Package key:** brew:uvicorn
- **Package manager:** Homebrew
- **Version:** 0.52.1
- **Source summary:** ASGI web server
- **Homepage:** <https://uvicorn.dev/>
- **Repository:** <https://github.com/Kludex/uvicorn>
- **Last updated:** 2026-08-02T22:31:56Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- uvicorn (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.52.1
## Project history and usage

Uvicorn is a Python ASGI web server. It became one of the standard command-line servers for async Python web applications, especially FastAPI and Starlette deployments, by pairing ASGI support with event-loop and protocol implementations such as uvloop, httptools, h11, and websockets.

### Project history

Uvicorn's official documentation frames the project around ASGI, the interface that let Python async frameworks share a low-level server/application contract. The docs describe Uvicorn as an ASGI web server implementation for Python with HTTP/1.1 and WebSocket support.

The release notes show an active public release stream by at least October 2019, with Uvicorn 0.10.0 adding Python 3.8 support, separated access/error logs, colorized terminal logs, logging configuration, trusted forwarded headers, worker configuration from `WEB_CONCURRENCY`, and `.env` support. Later releases refined optional dependency handling, reload behavior, WebSocket support, logging, and deployment ergonomics.

### Adoption history

Uvicorn's adoption followed the rise of ASGI frameworks. The official docs explicitly link Uvicorn's purpose to the lack of a minimal low-level async server/application interface in Python before ASGI, and the deployment docs document common production use under Gunicorn with a Uvicorn worker.

The installation documentation presents both minimal installation and a `uvicorn[standard]` extra. That extra became an important packaging convention because it grouped performance and developer-experience dependencies such as uvloop, httptools, websockets, watchfiles, and colorama without forcing every installation to carry them.

### How it is used

The normal package-nerd usage is `uvicorn module:app`, often with `--reload` in development and worker/process manager integration in production. It can be installed as a plain package or with the `standard` extra depending on whether the user wants the faster optional event loop, HTTP parser, WebSocket implementation, and file watcher.

Uvicorn also matters in containers and platform-as-a-service deployments because it exposes common server knobs as CLI flags, Python config, environment variables, and Gunicorn worker integration. That makes it easy for packaging systems and deployment recipes to express process counts, proxy headers, logging, and reload behavior.

### Why package nerds care

Uvicorn is significant because it turned ASGI from a framework-level abstraction into a package-manager-friendly executable. Installing one package gives Python projects a standard `uvicorn` command, while extras let maintainers choose between small dependency closure and a faster, fuller runtime stack.

Its release notes also show the kind of details package maintainers care about: optional dependency boundaries, security fixes for headers and logging, Windows process behavior, Unix socket handling, proxy header defaults, and Python-version support.

### Timeline

- 2019-10: Uvicorn 0.10.0 release notes list Python 3.8 support, logging changes, trusted proxy header handling, worker environment integration, and `.env` support.
- 2020-09: Uvicorn 0.12.0 stopped shipping uvloop, websockets, and httptools by default and moved them behind `uvicorn[standard]`.
- 2026-06: Official release notes list Uvicorn 0.49.0, showing continued maintenance.

### Related projects

- ASGI is the server/application interface that Uvicorn implements.
- FastAPI and Starlette are common ASGI framework companions in Uvicorn deployments.
- uvloop, httptools, h11, websockets, wsproto, watchfiles, and Gunicorn are related runtime or deployment packages documented by Uvicorn.

### Sources

- <https://uvicorn.dev/ - Official documentation describes Uvicorn as an ASGI web server for Python and links the official source repository.>
- <https://uvicorn.dev/deployment/ - Official deployment docs describe Gunicorn worker usage.>
- <https://uvicorn.dev/installation/ - Official installation docs describe optional dependencies and the `standard` extra.>
- <https://uvicorn.dev/release-notes/ - Official release notes provide release chronology and packaging changes such as optional dependency handling.>


## Security Notes

No matching local secret-handling manifest was found for uvicorn. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Other Package-Manager Records

- Debian apt - uvicorn - 0.32.0-3: normalized package name match | Debian stable package indexes: uvicorn from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | ASGI server implementation, using uvloop and httptools | https://github.com/encode/uvicorn/
- Ubuntu apt - uvicorn - 0.27.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: uvicorn from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | ASGI server implementation, using uvloop and httptools | https://github.com/encode/uvicorn/
- apk - uvicorn - 0.44.0-r0: normalized package name match | Alpine Linux edge package indexes: uvicorn from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Lightning-fast ASGI server | https://www.uvicorn.dev/
- apk - uvicorn-pyc - 0.44.0-r0: normalized package name match | Alpine Linux edge package indexes: uvicorn-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for uvicorn | https://www.uvicorn.dev/
- pacman - uvicorn - 0.52.0-1: normalized package name match | Arch Linux sync databases: uvicorn from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | The lightning-fast ASGI server | https://github.com/encode/uvicorn


## Combined YAML source

View the package source record on GitHub. [combined/uvicorn.yml](https://github.com/mxcl/pkgdb/blob/main/combined/uvicorn.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
