# Install uvicorn with Homebrew, apk, apt, pacman

ASGI web server. Version 0.50.2 via Homebrew; verified 2026-07-07.

## 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
- **Package manager page:** <https://formulae.brew.sh/formula/uvicorn>
- **Version:** 0.50.2
- **Source summary:** ASGI web server
- **Homepage:** <https://uvicorn.dev/>
- **Repository:** <https://github.com/Kludex/uvicorn>
- **Upstream docs:** <https://uvicorn.dev/>
- **License:** BSD-3-Clause
- **Source archive:** <https://files.pythonhosted.org/packages/9f/f6/cc9aadc0e481344a42095d222bfa764122fb8cfba708d1922917bd8bfb01/uvicorn-0.50.2.tar.gz>
- **Last updated:** 2026-07-07T13:00:41Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- uvicorn (cli)
- uvicorn (alias)

## Dependencies

- libyaml
- python@3.14

## Build dependencies

- rust

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.50.2
- Package-manager updated: 2026-07-07
- Local data: ok
- Upstream repository: https://uvicorn.dev/
- info: Release/tag comparison is only available for GitHub repositories.
## 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.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** uvicorn
- **Version Scheme:** 0
- **Revision:** 0
- **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 - 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.49.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


## Related links

- [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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [webify](https://www.automicvault.com/pkg/brew/webify/) - Shares av.db curated category or tags: cli, developer-tools, web-server.
- [fastapi](https://www.automicvault.com/pkg/brew/fastapi/) - Shares av.db curated category or tags: async, cli, developer-tools, python.
- [http-server](https://www.automicvault.com/pkg/brew/http-server/) - Shares av.db curated category or tags: cli, developer-tools, web-server.
- [jetty](https://www.automicvault.com/pkg/brew/jetty/) - Shares av.db curated category or tags: cli, developer-tools, web-server.
- [abi3audit](https://www.automicvault.com/pkg/brew/abi3audit/) - Shares av.db curated category or tags: cli, developer-tools, python.
- [analog](https://www.automicvault.com/pkg/brew/analog/) - Shares av.db curated category or tags: cli, developer-tools, web-server.
- [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.
- [fastmcp](https://www.automicvault.com/pkg/brew/fastmcp/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, libyaml, python.
- [livereload](https://www.automicvault.com/pkg/brew/livereload/) - 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/uvicorn.yml](https://github.com/automic-vault/db/blob/main/combined/uvicorn.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
