JerzySpendel / uvicorn

The lightning-fast ASGI server. πŸ¦„

Home Page:https://www.uvicorn.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uvicorn

The lightning-fast ASGI server.


Build Status Coverage Package version

Documentation: https://www.uvicorn.org

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.

Quickstart

Install using pip:

$ pip install uvicorn

Create an application, in example.py:

async def app(scope, receive, send):
    assert scope['type'] == 'http'

    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 example:app

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

β€” πŸ¦„ β€”

About

The lightning-fast ASGI server. πŸ¦„

https://www.uvicorn.org/

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 98.9%Language:Shell 1.1%