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.
How It Works
aidjango.get_aio_application builds an application which combines both request handlers/views from Django and aiohttp.web. 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 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
Metadata
Release files for aiodjango 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aiodjango-0.1.0.tar.gz | 7.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiodjango-0.1.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 16.9 kB
Release files / aiodjango-0.1.0.tar.gz
| Download URL | aiodjango-0.1.0.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af816fbb239db2965e8375111f1380915324a6f1baa4dd343df00ee89f4e9248
|
|
BLAKE2b-256 checksum How to use checksums |
3eb934ca7e80331c8dbfad76cf60aeca719456f72e40e07e611c487c41d35591
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / aiodjango-0.1.0-py2.py3-none-any.whl
| Download URL | aiodjango-0.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
02cc6cd03c9399007877e306c2a20e40b13438041f2b97bd27b00476f03e86a8
|
|
BLAKE2b-256 checksum How to use checksums |
3753c745e2a18dcd704b8f8f8f792c31852a0cf4c753eac808a499fd5f965ccd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for aiodjango 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.