Skip to content

Commit

Permalink
Spice up the docs a bit!
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewgodwin committed Aug 17, 2018
1 parent 887ac8d commit bd46344
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 4 deletions.
8 changes: 6 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ asgiref
.. image:: https://img.shields.io/pypi/v/asgiref.svg
:target: https://pypi.python.org/pypi/asgiref

ASGI base libraries, including:
ASGI is a standard for Python asynchronous web apps and servers to communicate
with each other, and positioned as an asynchronous successor to WSGI. You can
read more at https://asgi.readthedocs.io/en/latest/

This package includes ASGI base libraries, such as:

* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync``
* Server base classes, ``asgiref.server``
* WSGI-to-ASGI adapter, in ``asgiref.wsgi``
* A WSGI-to-ASGI adapter, in ``asgiref.wsgi``


Function wrappers
Expand Down
56 changes: 56 additions & 0 deletions docs/implementations.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
Implementations
===============

Complete or upcoming implementations of ASGI - servers, frameworks, and other
useful pieces.

Servers
=======

Daphne
------

*Stable* / http://github.com/django/daphne

The current ASGI reference server, written in Twisted and maintained as part
of the Django Channels project. Supports HTTP/1, HTTP/2, and WebSockets.


Uvicorn
-------

*Stable* / https://www.uvicorn.org/

A fast ASGI server based on uvloop and httptools.
Supports HTTP/1 and WebSockets.


Hypercorn
---------

*Beta* / https://pgjones.gitlab.io/hypercorn/index.html

An ASGI server based on the sans-io hyper, h11, h2, and wsproto libraries.
Supports HTTP/1, HTTP/2, and WebSockets.


Application Frameworks
======================

Django/Channels
---------------

*Stable* / http://channels.readthedocs.io

Channels is the Django project to add asynchronous support to Django and is the
original driving force behind the ASGI project. Supports HTTP and WebSockets
with Django integration, and any protocol with ASGI-native code.


Starlette
---------

*Beta* / https://github.com/encode/starlette

Starlette is a minimalist ASGI library for writing against basic but powerful
``Request`` and ``Response`` classes. Supports HTTP.
13 changes: 11 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,21 @@ ASGI (*Asynchronous Server Gateway Interface*) is a spiritual successor to
WSGI, intended to provide a standard interface between async-capable Python
web servers, frameworks, and applications.

This documentation contains the :doc:`specifications <specs/index>` for the
ASGI standard, as well as other examples and tips on implementation.
Where WSGI provided a standard for synchronous Python apps, ASGI provides one
for both asynchronous and synchronous apps, with a WSGI backwards-compatability
implementation and multiple servers and application frameworks.

You can read more in the :doc:`introduction <introduction>` to ASGI, look
through the :doc:`specifications <specs/index>`, and see what
:doc:`implementations <implementations>` there already are or that are upcoming.

Contribution and discussion about ASGI is welcome, and mostly happens on
the `asgiref GitHub repository <https://github.com/django/asgiref>`_.

.. toctree::
:maxdepth: 1

introduction
specs/index
extensions
implementations

0 comments on commit bd46344

Please sign in to comment.