diff --git a/.ci/.matrix_exclude.yml b/.ci/.matrix_exclude.yml index 0349959a1..c1921f705 100644 --- a/.ci/.matrix_exclude.yml +++ b/.ci/.matrix_exclude.yml @@ -69,6 +69,12 @@ exclude: FRAMEWORK: celery-5-django-3 - VERSION: python-3.12 # https://github.com/celery/billiard/issues/377 FRAMEWORK: celery-5-django-4 + - VERSION: python-3.13 # https://github.com/celery/billiard/issues/377 + FRAMEWORK: celery-5-flask-2 + - VERSION: python-3.13 # https://github.com/celery/billiard/issues/377 + FRAMEWORK: celery-5-django-3 + - VERSION: python-3.13 # https://github.com/celery/billiard/issues/377 + FRAMEWORK: celery-5-django-4 - VERSION: python-3.10 FRAMEWORK: graphene-2 - VERSION: python-3.10 @@ -111,6 +117,22 @@ exclude: FRAMEWORK: cassandra-3.4 - VERSION: python-3.12 FRAMEWORK: pymongo-3.5 + - VERSION: python-3.13 + FRAMEWORK: django-1.11 + - VERSION: python-3.13 + FRAMEWORK: django-2.0 + - VERSION: python-3.13 + FRAMEWORK: django-2.1 + - VERSION: python-3.13 + FRAMEWORK: graphene-2 + - VERSION: python-3.13 + FRAMEWORK: aiohttp-3.0 + - VERSION: python-3.13 + FRAMEWORK: aiohttp-4.0 + - VERSION: python-3.13 + FRAMEWORK: cassandra-3.4 + - VERSION: python-3.13 + FRAMEWORK: pymongo-3.5 # pymongo - VERSION: python-3.10 FRAMEWORK: pymongo-3.1 @@ -118,18 +140,24 @@ exclude: FRAMEWORK: pymongo-3.1 - VERSION: python-3.12 FRAMEWORK: pymongo-3.1 + - VERSION: python-3.13 + FRAMEWORK: pymongo-3.1 - VERSION: python-3.10 FRAMEWORK: pymongo-3.2 - VERSION: python-3.11 FRAMEWORK: pymongo-3.2 - VERSION: python-3.12 FRAMEWORK: pymongo-3.2 + - VERSION: python-3.13 + FRAMEWORK: pymongo-3.2 - VERSION: python-3.10 FRAMEWORK: pymongo-3.3 - VERSION: python-3.11 FRAMEWORK: pymongo-3.3 - VERSION: python-3.12 FRAMEWORK: pymongo-3.3 + - VERSION: python-3.13 + FRAMEWORK: pymongo-3.3 - VERSION: python-3.8 FRAMEWORK: pymongo-3.4 - VERSION: python-3.9 @@ -140,6 +168,8 @@ exclude: FRAMEWORK: pymongo-3.4 - VERSION: python-3.12 FRAMEWORK: pymongo-3.4 + - VERSION: python-3.13 + FRAMEWORK: pymongo-3.4 - VERSION: pypy-3 FRAMEWORK: pymongo-3.0 # pymssql @@ -163,6 +193,10 @@ exclude: FRAMEWORK: boto3-1.5 - VERSION: python-3.12 FRAMEWORK: boto3-1.6 + - VERSION: python-3.13 + FRAMEWORK: boto3-1.5 + - VERSION: python-3.13 + FRAMEWORK: boto3-1.6 # aiohttp client, only supported in Python 3.7+ - VERSION: pypy-3 FRAMEWORK: aiohttp-3.0 @@ -254,11 +288,21 @@ exclude: FRAMEWORK: twisted-16 - VERSION: python-3.12 FRAMEWORK: twisted-15 + - VERSION: python-3.13 + FRAMEWORK: twisted-18 + - VERSION: python-3.13 + FRAMEWORK: twisted-17 + - VERSION: python-3.13 + FRAMEWORK: twisted-16 + - VERSION: python-3.13 + FRAMEWORK: twisted-15 # pylibmc - VERSION: python-3.11 FRAMEWORK: pylibmc-1.4 - VERSION: python-3.12 FRAMEWORK: pylibmc-1.4 + - VERSION: python-3.13 + FRAMEWORK: pylibmc-1.4 # grpc - VERSION: python-3.6 FRAMEWORK: grpc-newest @@ -274,6 +318,8 @@ exclude: FRAMEWORK: grpc-1.24 - VERSION: python-3.12 FRAMEWORK: grpc-1.24 + - VERSION: python-3.13 + FRAMEWORK: grpc-1.24 - VERSION: python-3.7 FRAMEWORK: flask-1.0 - VERSION: python-3.7 @@ -283,7 +329,5 @@ exclude: # TODO py3.12 - VERSION: python-3.12 FRAMEWORK: sanic-20.12 # no wheels available yet - - VERSION: python-3.12 - FRAMEWORK: kafka-python-newest # https://github.com/dpkp/kafka-python/pull/2376 - - VERSION: python-3.12 + - VERSION: python-3.13 FRAMEWORK: cassandra-newest # c extension issue diff --git a/.ci/.matrix_python.yml b/.ci/.matrix_python.yml index dbb9c7bf6..86c87ad88 100644 --- a/.ci/.matrix_python.yml +++ b/.ci/.matrix_python.yml @@ -1,3 +1,3 @@ VERSION: - python-3.6 - - python-3.12 + - python-3.13 diff --git a/.ci/.matrix_python_full.yml b/.ci/.matrix_python_full.yml index 03fead7ab..bb763b7ca 100644 --- a/.ci/.matrix_python_full.yml +++ b/.ci/.matrix_python_full.yml @@ -6,4 +6,5 @@ VERSION: - python-3.10 - python-3.11 - python-3.12 + - python-3.13 # - pypy-3 # excluded due to build issues with SQLite/Django diff --git a/Makefile b/Makefile index 51f7a4eb6..b2d00f400 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ test: # delete any __pycache__ folders to avoid hard-to-debug caching issues find . -type f -name '*.py[co]' -delete -o -type d -name __pycache__ -delete # pypy3 should be added to the first `if` once it supports py3.7 - if [[ "$$PYTHON_VERSION" =~ ^(3.7|3.8|3.9|3.10|3.11|3.12|nightly)$$ ]] ; then \ + if [[ "$$PYTHON_VERSION" =~ ^(3.7|3.8|3.9|3.10|3.11|3.12|3.13|nightly)$$ ]] ; then \ echo "Python 3.7+, with asyncio"; \ pytest -v $(PYTEST_ARGS) --showlocals $(PYTEST_MARKER) $(PYTEST_JUNIT); \ else \ diff --git a/docs/reference/supported-technologies.md b/docs/reference/supported-technologies.md index 715c6a76f..ad768b2cb 100644 --- a/docs/reference/supported-technologies.md +++ b/docs/reference/supported-technologies.md @@ -30,6 +30,7 @@ The following Python versions are supported: * 3.10 * 3.11 * 3.12 +* 3.13 ### Django [supported-django] diff --git a/setup.cfg b/setup.cfg index 2dca4283e..e9f766645 100644 --- a/setup.cfg +++ b/setup.cfg @@ -22,6 +22,7 @@ classifiers = Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy License :: OSI Approved :: BSD License