Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

Reference ASGI adapters and channel layers

Project description

https://api.travis-ci.org/django/asgiref.svg https://img.shields.io/pypi/v/asgiref.svg

Contains various reference ASGI implementations, including:

  • A base channel layer, asgiref.base_layer

  • An in-memory channel layer, asgiref.inmemory

  • WSGI-to-ASGI and ASGI-to-WSGI adapters, in asgiref.wsgi

Base Channel Layer

Provides an optional template to start ASGI channel layers from with the two exceptions you need provided and all API functions stubbed out.

Also comes with logic for doing per-channel capacities using channel names and globbing; use self.get_capacity and pass the arguments through to the base __init__ if you want to use it.

In-memory Channel Layer

Simply instantiate asgiref.inmemory.ChannelLayer, or use the pre-made asgiref.inmemory.channel_layer for easy use. Implements the group extension, and is designed to support running multiple ASGI programs in separate threads within one process (the channel layer is threadsafe).

WSGI-ASGI Adapters

These are not yet complete and should not be used.

Dependencies

All Channels projects currently support Python 2.7, 3.4 and 3.5.

Contributing

Please refer to the main Channels contributing docs. That also contains advice on how to set up the development environment and run the tests.

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.

This repository is part of the Channels project. For the shepherd and maintenance team, please see the main Channels readme.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page