Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ and `tutorial <https://channels.readthedocs.io/en/latest/tutorial/index.html>`_
Dependencies
------------

All Channels projects currently support Python 3.8 and up. ``channels`` is
compatible with Django 4.2 and 5.0.
All Channels projects currently support Python 3.9 and up. ``channels`` is
compatible with Django 4.2+.


Contributing
Expand Down
6 changes: 2 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,13 @@ classifiers =
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Framework :: Django
Framework :: Django :: 4.2
Framework :: Django :: 5.0
Framework :: Django :: 5.1
Framework :: Django :: 5.2
Topic :: Internet :: WWW/HTTP
Expand All @@ -34,8 +32,8 @@ packages = find:
include_package_data = True
install_requires =
Django>=4.2
asgiref>=3.6.0,<4
python_requires = >=3.8
asgiref>=3.9.0,<4
python_requires = >=3.9

[options.extras_require]
tests =
Expand Down
8 changes: 5 additions & 3 deletions tests/test_testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,8 @@ async def test_websocket_application():
@pytest.mark.asyncio
async def test_timeout_disconnect():
"""
Tests that disconnect() still works after a timeout.
Tests that communicator.disconnect() raises after a timeout. (Application
is finished.)
"""
communicator = WebsocketCommunicator(ErrorWebsocketApp(), "/testws/")
# Test connection
Expand All @@ -153,8 +154,9 @@ async def test_timeout_disconnect():
await communicator.send_to(text_data="hello")
with pytest.raises(asyncio.TimeoutError):
await communicator.receive_from()
# Close out
await communicator.disconnect()

with pytest.raises(asyncio.exceptions.CancelledError):
await communicator.disconnect()


class ConnectionScopeValidator(WebsocketConsumer):
Expand Down
4 changes: 1 addition & 3 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[tox]
envlist =
py{38,39,310,311}-dj42
py{310,311,312}-dj50
py{39,310,311}-dj42
py{310,311,312,313}-dj51
py{310,311,312,313}-dj52
py{312,313}-djmain
Expand All @@ -13,7 +12,6 @@ commands =
pytest -v {posargs}
deps =
dj42: Django>=4.2,<5.0
dj50: Django>=5.0,<5.1
dj51: Django>=5.1,<5.2
dj52: Django>=5.2a1,<6.0
djmain: https://github.com/django/django/archive/main.tar.gz
Expand Down
Loading