# Serve Python on the Web

Battle-tested. Production-ready. One command to serve your Python apps.

Get Started View on GitHub
$ pip install gunicorn $ gunicorn myapp:app # Listening at http://127.0.0.1:8000

## Why Gunicorn?

### Production-Proven

Trusted by thousands of companies. The pre-fork worker model handles traffic spikes gracefully.

### Lightweight

Minimal dependencies, simple configuration. Efficient from containers to bare metal.

### Compatible

Works with any WSGI or ASGI framework. Django, Flask, FastAPI—it just runs.

## Works With Your Stack

WSGI and ASGI frameworks, no changes needed

Django Flask FastAPI Pyramid Starlette Falcon Bottle Quart

## Choose Your Worker

### Sync

The default. One request per worker. Simple and predictable.

### Async (Gevent/Eventlet)

Thousands of concurrent connections for I/O-bound workloads.

### Threads

Multiple threads per worker. Balance concurrency and simplicity.

### ASGI

Native asyncio for FastAPI, Starlette, and async frameworks.

## Documentation

Quickstart Get running in 5 minutes Deployment Nginx, systemd, Docker Settings All configuration options FAQ Common questions

## Support

Powering Python apps since 2010. Support continued development.

Become a Sponsor