daphne/README.rst
Maik Hoepfel 6d71106c3c Simplify testing infrastructure (#515)
* Mark runtests helper executable

* Bump required version of asgiref

We're probably making our life easier when we keep the Channels
dependencies roughly in sync. As a 1.0 release was made, I suggest to
require it.

* Simplify tox and Travis configuration

I hopefully simplified the tox configuration by following what I did in
the other four Channels projects.

I then had a good look at tox-travis and decided to remove it. It does
add a layer of indirection with, IMHO, not enough gain. To understand
what Travis is doing, one would need to consider two files (and
understand tox-travis) instead of just one file. It also introduces
another point of failure. What pushed me over was that there's a bug
with env matching (https://github.com/ryanhiebert/tox-travis/issues/55)
and tox or tox-travis seem to mask an Exception
(https://travis-ci.org/django/channels/jobs/195950971#L195) that would
be hard to debug.
The draw back is that we duplicate the Django dependency matrix, and the
commands that are executed in Travis and tox. We could add a "--with-qa"
flag to runtests.py to have it execute flake8 and isort to rectify the
latter.

I extracted test dependencies as I did for asgi_redis.

* Document supported versions
2017-01-30 17:25:07 -08:00

82 lines
3.1 KiB
ReStructuredText

Django Channels
===============
.. image:: https://api.travis-ci.org/django/channels.svg
:target: https://travis-ci.org/django/channels
.. image:: https://readthedocs.org/projects/channels/badge/?version=latest
:target: https://channels.readthedocs.io/en/latest/?badge=latest
.. image:: https://img.shields.io/pypi/v/channels.svg
:target: https://pypi.python.org/pypi/channels
.. image:: https://img.shields.io/pypi/l/channels.svg
:target: https://pypi.python.org/pypi/channels
Channels loads into Django as a pluggable app to bring WebSocket, long-poll HTTP,
task offloading and other asynchrony support to your code, using familiar Django
design patterns and a flexible underlying framework that lets you not only
customize behaviours but also write support for your own protocols and needs.
Documentation, installation and getting started instructions are at
https://channels.readthedocs.io
Channels is an official Django Project and as such has a deprecation policy.
Details about what's deprecated or pending deprecation for each release is in
the `release notes <http://channels.readthedocs.io/en/latest/releases/index.html>`_.
Support can be obtained either here via issues, or in the ``#django-channels``
channel on Freenode.
You can install channels from PyPI as the ``channels`` package.
You'll likely also want to ``asgi_redis`` to provide the Redis channel layer.
See our `installation <https://channels.readthedocs.io/en/latest/installation.html>`_
and `getting started <https://channels.readthedocs.io/en/latest/getting-started.html>`_ docs for more.
Dependencies
------------
All Channels projects currently support Python 2.7, 3.4 and 3.5. `channels` supports all released
Django versions, namely 1.8-1.10.
Contributing
------------
To learn more about contributing, please `read our contributing docs <https://channels.readthedocs.io/en/latest/contributing.html>`_.
Maintenance and Security
------------------------
To report security issues, please contact security@djangoproject.com. For GPG
signatures and more security process information, see
https://docs.djangoproject.com/en/dev/internals/security/.
To report bugs or request new features, please open a new GitHub issue. For
larger discussions, please post to the
`django-developers mailing list <https://groups.google.com/d/forum/django-developers>`_.
Django Core Shepherd: Andrew Godwin <andrew@aeracode.org>
Maintenance team:
* Andrew Godwin <andrew@aeracode.org>
* Steven Davidson
* Jeremy Spencer
If you are interested in joining the maintenance team, please
`read more about contributing <https://channels.readthedocs.io/en/latest/contributing.html>`_
and get in touch!
Other Projects
--------------
The Channels project is made up of several packages; the others are:
* `Daphne <https://github.com/django/daphne/>`_, the HTTP and Websocket termination server
* `asgiref <https://github.com/django/asgiref/>`_, the base ASGI library/memory backend
* `asgi_redis <https://github.com/django/asgi_redis/>`_, the Redis channel backend
* `asgi_ipc <https://github.com/django/asgi_ipc/>`_, the POSIX IPC channel backend