The lightning-fast ASGI server. πŸ¦„


The lightning-fast ASGI server.

Build Status Coverage Package version


Requirements: Python 3.5, 3.6, 3.7

Uvicorn is a lightning-fast ASGI server implementation, using uvloop and httptools.

Until recently Python has lacked a minimal low-level server/application interface for asyncio frameworks. The ASGI specification fills this gap, and means we're now able to start building a common set of tooling usable across all asyncio frameworks.

Uvicorn currently supports HTTP/1.1 and WebSockets. Support for HTTP/2 is planned.


Install using pip:

$ pip install uvicorn

Create an application, in

class App():
    def __init__(self, scope):
        self.scope = scope

    async def __call__(self, receive, send):
        await send({
            'type': 'http.response.start',
            'status': 200,
            'headers': [
                [b'content-type', b'text/plain'],
        await send({
            'type': 'http.response.body',
            'body': b'Hello, world!',

Run the server:

$ uvicorn app:App

Uvicorn is BSD licensed code.
Designed & built in Brighton, England.

β€” πŸ¦„ β€”