{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/django-channels/","markdown":"https://findsoftware.frbit.cloud/django-channels.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"django-channels","name":"Channels","urls":{"home":"https://channels.readthedocs.io/en/latest/","repository":"https://github.com/django/channels","docs":"https://channels.readthedocs.io/en/latest/"},"category":["backend"],"description":"Django extension that adds WebSocket, long-poll HTTP and other asynchronous protocol handling to Django projects.","maintainer":"Django Software Foundation","maintainerType":"foundation","firstRelease":2015,"hosting":["python"],"language":"python","runtime":["python"],"runtimeMin":"python 3.9","basedOn":["django"],"runsAs":["always-on"],"installMethod":"pip","licenseModel":"open-source","license":"BSD-3-Clause","currentMajor":"4","latestReleaseDate":"2025-11-20T00:00:00.000Z","githubStargazers":6363,"contributors":263,"packagistDownloads":null,"npmWeeklyDownloads":null,"dependentRepos":7421,"dependentPackages":99,"checkedAt":"2026-11-04T00:00:00.000Z","addedAt":"2026-11-04T00:00:00.000Z","sources":[{"field":"urls","url":"https://channels.readthedocs.io/en/latest/","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"urls","url":"https://api.github.com/repos/django/channels","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"urls","url":"https://github.com/django/channels/blob/main/README.rst","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"category","url":"https://github.com/django/channels/blob/main/README.rst","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"basedOn","url":"https://github.com/django/channels/blob/main/README.rst","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/django/channels","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"runtime","url":"https://github.com/django/channels/blob/4.3.2/setup.cfg","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"runtimeMin","url":"https://github.com/django/channels/blob/4.3.2/setup.cfg","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"runsAs","url":"https://channels.readthedocs.io/en/latest/deploying.html","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"installMethod","url":"https://channels.readthedocs.io/en/latest/installation.html","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/django/channels/blob/main/LICENSE","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"license","url":"https://api.github.com/repos/django/channels","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"licenseModel","url":"https://github.com/django/channels/blob/main/LICENSE","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"firstRelease","url":"https://pypi.org/pypi/channels/json","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"currentMajor","url":"https://pypi.org/pypi/channels/json","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://pypi.org/pypi/channels/json","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/django/channels","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/django/channels/contributors","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"dependentPackages","url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/channels","checkedAt":"2026-11-04T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/channels","checkedAt":"2026-11-04T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"Channels extends Django to handle WebSocket connections, long-poll HTTP and background tasks next to the regular request cycle. It is built on ASGI, the Python specification for asynchronous servers, and Django's native ASGI support still serves plain HTTP. A project sets the ASGI_APPLICATION setting to a routing object in its asgi.py, which sends HTTP to Django and other protocols to their own handlers, and runs that application under a server such as Daphne. The Django Software Foundation maintains it as an official Django project.\n\n## Worth knowing\n\nA Channels project runs as a long-lived server process under a process supervisor or an orchestration system, so a host that serves static files or starts a script per request is not enough. The channel layer is optional. A backend such as the Redis one connects the server processes through a central server."}