Django Channels HTTP/WebSocket server
Go to file
Maik Hoepfel 50f0b98d43 Two minor spec changes (#625)
* Remove mention of fixed reply channel name

Per the recent changes, the reply channel name is now at the discretion
of the server.

* Clarification on bytes/text values being empty

This commit clarifies that the bytes/text values need to be non-empty
(so not None/'') for them to be treated as present.

* HTTP Response headers are optional

During discussion with Andrew, we noted that they are optional, and that
that makes good sense. So this commit updates the spec to reflect
reality.
2017-04-28 14:44:05 -07:00
.github Redirecting questions to the mailing list 2016-11-04 17:24:21 +01:00
channels Decode utf-8 QUERY_STRING when relevant (#623) 2017-04-27 17:36:16 -07:00
docs Two minor spec changes (#625) 2017-04-28 14:44:05 -07:00
js_client Actually releasing 1.1.3 2017-04-07 04:35:37 +01:00
loadtesting Mention RabbitMQ layer in the docs. (#608) 2017-04-14 17:42:19 -07:00
testproject Add ChannelLiveServerTestCase (#497) 2017-04-11 10:17:47 +01:00
tests Improvements for test client (#613) 2017-04-18 20:18:28 -07:00
.coveragerc Separate tests into own directory. (#531) 2017-02-16 10:22:23 -08:00
.gitignore add Channels WebSocket javascript wrapper (#544) 2017-03-14 15:08:04 -07:00
.travis.yml Added django 1.11 to travis matrix (#597) 2017-04-07 12:06:26 +02:00
CHANGELOG.txt Releasing 1.1.3 2017-04-05 15:00:07 +02:00
CONTRIBUTING.rst Convert readthedocs link for their .org -> .io migration for hosted projects (#374) 2016-09-22 14:17:39 -07:00
LICENSE Add some kind of license 2015-07-13 23:41:19 -07:00
Makefile add Channels WebSocket javascript wrapper (#544) 2017-03-14 15:08:04 -07:00
MANIFEST.in Releasing 1.1.1 2017-03-19 11:23:28 -07:00
patchinator.py Separate tests into own directory. (#531) 2017-02-16 10:22:23 -08:00
README.rst Mention RabbitMQ layer in the docs. (#608) 2017-04-14 17:42:19 -07:00
runtests.py Add ChannelLiveServerTestCase (#497) 2017-04-11 10:17:47 +01:00
setup.cfg add Channels WebSocket javascript wrapper (#544) 2017-03-14 15:08:04 -07:00
setup.py Add ChannelLiveServerTestCase (#497) 2017-04-11 10:17:47 +01:00
tox.ini Add ChannelLiveServerTestCase (#497) 2017-04-11 10:17:47 +01:00

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 install ``asgi_redis`` or ``asgi_rabbitmq``
to provide the Redis/RabbitMQ channel layer correspondingly.
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_rabbitmq <https://github.com/proofit404/asgi_rabbitmq/>`_, the RabbitMQ channel backend
* `asgi_ipc <https://github.com/django/asgi_ipc/>`_, the POSIX IPC channel backend