Metadata-Version: 1.1
Name: aiodjango
Version: 0.1.0
Summary: Utilities for running async aiohttp based routes in the context of a Django project.
Home-page: https://github.com/mlavin/aiodjango
Author: Mark Lavin
Author-email: markdlavin@gmail.com
License: BSD
Description: 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
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
