encode/uvicorn

Name: uvicorn

Owner: Encode

Description: The lightning-fast ASGI server. ?

Created: 2017-05-31 13:13:43.0

Updated: 2018-05-24 12:59:55.0

Pushed: 2018-05-16 12:17:32.0

Homepage: http://www.uvicorn.org/

Size: 5089

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

uvicorn

The lightning-fast ASGI server.


Build Status Package version

Documentation: http://www.uvicorn.org

Requirements: Python 3.5.3+

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:

p install uvicorn

Create an application, in app.py:

s 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': 'Hello, world!',
    })

Run the server:

icorn app:App

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

— ? —


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.