Catalog PyPI
PACKAGE EXPLORERView in registry

aiodjango

PyPI

Utilities for running async aiohttp based routes in the context of a Django project.

Versions collected1
Direct dependencies0From release 0.1.0
Last observed21 Oct, 11:49 UTC

README

Version 0.1.0 documentation
aiodjango
=========

This is a proof-of-concept experiment to combine a Django WSGI app mixed with
async views/websocket handlers using aiohttp. The API is highly unstable
and I wouldn't recommend that you use this code for anything other than
wild experimentation.

.. image:: https://travis-ci.org/mlavin/aiodjango.svg
    :target: https://travis-ci.org/mlavin/aiodjango

.. image:: https://codecov.io/github/mlavin/aiodjango/coverage.svg?branch=master
    :target: https://codecov.io/github/mlavin/aiodjango?branch=master


How It Works
------------

``aidjango.get_aio_application`` builds an application which combines both
request handlers/views from Django and `aiohttp.web <http://aiohttp.readthedocs.org/en/stable/web.html>`_.
Views are defined using the normal Django url pattern syntax but
any handler which is a coroutine is handled by the ``aiohttp`` application
while the rest of the views are handled by the normal Django app.

Internal this makes use of `aiohttp-wsgi <https://github.com/etianen/aiohttp-wsgi>`_
which runs the Django WSGI app in a thread-pool to minimize blocking the async
portions of the app.


Running the Demo
----------------

The example project requires Python 3.4+ to run. You should create a virtualenv
to install the necessary requirements::

    $ git clone https://github.com/mlavin/aiodjango.git
    $ cd aiodjango/
    $ mkvirtualenv aiodjango -p `which python3.4`
    (aiodjango) $ add2virtualenv .
    (aiodjango) $ cd example
    (aiodjango) $ pip install -r requirements.txt
    (aiodjango) $ python manage.py migrate
    (aiodjango) $ python manage.py runserver

This starts the server on http://localhost:8000/ with a new version of Django's
built-in runserver. For a more multi-process server you can run using the
aiohttp worker along with Gunicorn::

    (aiodjango) $ gunicorn example.wsgi:app --worker-class aiohttp.worker.GunicornWebWorker --workers 2

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.020 Dec 20150

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
mlavin/aiodjango

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:49 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:79e900a4079b7b91c59fce672544b738c26b36d737eb321c2123ee640c2dde57