Skip to content

Commit 269cbc3

Browse files
authored
Add official support for Python 3.13 (#2265)
* Add official support for Python 3.13 And start running CI against it. * Mark aws lambda to support python 3.12 and 3.13 * More older django exclusion from matrix
1 parent 6e79419 commit 269cbc3

7 files changed

+57
-6
lines changed

.ci/.matrix_exclude.yml

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ exclude:
6969
FRAMEWORK: celery-5-django-3
7070
- VERSION: python-3.12 # https://github.com/celery/billiard/issues/377
7171
FRAMEWORK: celery-5-django-4
72+
- VERSION: python-3.13 # https://github.com/celery/billiard/issues/377
73+
FRAMEWORK: celery-5-flask-2
74+
- VERSION: python-3.13 # https://github.com/celery/billiard/issues/377
75+
FRAMEWORK: celery-5-django-3
76+
- VERSION: python-3.13 # https://github.com/celery/billiard/issues/377
77+
FRAMEWORK: celery-5-django-4
7278
- VERSION: python-3.10
7379
FRAMEWORK: graphene-2
7480
- VERSION: python-3.10
@@ -101,6 +107,10 @@ exclude:
101107
FRAMEWORK: django-2.0
102108
- VERSION: python-3.12
103109
FRAMEWORK: django-2.1
110+
- VERSION: python-3.13
111+
FRAMEWORK: django-3.2
112+
- VERSION: python-3.13
113+
FRAMEWORK: django-4.0
104114
- VERSION: python-3.12
105115
FRAMEWORK: graphene-2
106116
- VERSION: python-3.12
@@ -111,25 +121,47 @@ exclude:
111121
FRAMEWORK: cassandra-3.4
112122
- VERSION: python-3.12
113123
FRAMEWORK: pymongo-3.5
124+
- VERSION: python-3.13
125+
FRAMEWORK: django-1.11
126+
- VERSION: python-3.13
127+
FRAMEWORK: django-2.0
128+
- VERSION: python-3.13
129+
FRAMEWORK: django-2.1
130+
- VERSION: python-3.13
131+
FRAMEWORK: graphene-2
132+
- VERSION: python-3.13
133+
FRAMEWORK: aiohttp-3.0
134+
- VERSION: python-3.13
135+
FRAMEWORK: aiohttp-4.0
136+
- VERSION: python-3.13
137+
FRAMEWORK: cassandra-3.4
138+
- VERSION: python-3.13
139+
FRAMEWORK: pymongo-3.5
114140
# pymongo
115141
- VERSION: python-3.10
116142
FRAMEWORK: pymongo-3.1
117143
- VERSION: python-3.11
118144
FRAMEWORK: pymongo-3.1
119145
- VERSION: python-3.12
120146
FRAMEWORK: pymongo-3.1
147+
- VERSION: python-3.13
148+
FRAMEWORK: pymongo-3.1
121149
- VERSION: python-3.10
122150
FRAMEWORK: pymongo-3.2
123151
- VERSION: python-3.11
124152
FRAMEWORK: pymongo-3.2
125153
- VERSION: python-3.12
126154
FRAMEWORK: pymongo-3.2
155+
- VERSION: python-3.13
156+
FRAMEWORK: pymongo-3.2
127157
- VERSION: python-3.10
128158
FRAMEWORK: pymongo-3.3
129159
- VERSION: python-3.11
130160
FRAMEWORK: pymongo-3.3
131161
- VERSION: python-3.12
132162
FRAMEWORK: pymongo-3.3
163+
- VERSION: python-3.13
164+
FRAMEWORK: pymongo-3.3
133165
- VERSION: python-3.8
134166
FRAMEWORK: pymongo-3.4
135167
- VERSION: python-3.9
@@ -140,6 +172,8 @@ exclude:
140172
FRAMEWORK: pymongo-3.4
141173
- VERSION: python-3.12
142174
FRAMEWORK: pymongo-3.4
175+
- VERSION: python-3.13
176+
FRAMEWORK: pymongo-3.4
143177
- VERSION: pypy-3
144178
FRAMEWORK: pymongo-3.0
145179
# pymssql
@@ -163,6 +197,10 @@ exclude:
163197
FRAMEWORK: boto3-1.5
164198
- VERSION: python-3.12
165199
FRAMEWORK: boto3-1.6
200+
- VERSION: python-3.13
201+
FRAMEWORK: boto3-1.5
202+
- VERSION: python-3.13
203+
FRAMEWORK: boto3-1.6
166204
# aiohttp client, only supported in Python 3.7+
167205
- VERSION: pypy-3
168206
FRAMEWORK: aiohttp-3.0
@@ -254,11 +292,21 @@ exclude:
254292
FRAMEWORK: twisted-16
255293
- VERSION: python-3.12
256294
FRAMEWORK: twisted-15
295+
- VERSION: python-3.13
296+
FRAMEWORK: twisted-18
297+
- VERSION: python-3.13
298+
FRAMEWORK: twisted-17
299+
- VERSION: python-3.13
300+
FRAMEWORK: twisted-16
301+
- VERSION: python-3.13
302+
FRAMEWORK: twisted-15
257303
# pylibmc
258304
- VERSION: python-3.11
259305
FRAMEWORK: pylibmc-1.4
260306
- VERSION: python-3.12
261307
FRAMEWORK: pylibmc-1.4
308+
- VERSION: python-3.13
309+
FRAMEWORK: pylibmc-1.4
262310
# grpc
263311
- VERSION: python-3.6
264312
FRAMEWORK: grpc-newest
@@ -274,6 +322,8 @@ exclude:
274322
FRAMEWORK: grpc-1.24
275323
- VERSION: python-3.12
276324
FRAMEWORK: grpc-1.24
325+
- VERSION: python-3.13
326+
FRAMEWORK: grpc-1.24
277327
- VERSION: python-3.7
278328
FRAMEWORK: flask-1.0
279329
- VERSION: python-3.7
@@ -283,7 +333,5 @@ exclude:
283333
# TODO py3.12
284334
- VERSION: python-3.12
285335
FRAMEWORK: sanic-20.12 # no wheels available yet
286-
- VERSION: python-3.12
287-
FRAMEWORK: kafka-python-newest # https://github.com/dpkp/kafka-python/pull/2376
288-
- VERSION: python-3.12
336+
- VERSION: python-3.13
289337
FRAMEWORK: cassandra-newest # c extension issue

.ci/.matrix_python.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
VERSION:
22
- python-3.6
3-
- python-3.12
3+
- python-3.13

.ci/.matrix_python_full.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ VERSION:
66
- python-3.10
77
- python-3.11
88
- python-3.12
9+
- python-3.13
910
# - pypy-3 # excluded due to build issues with SQLite/Django

.ci/publish-aws.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ for region in $ALL_AWS_REGIONS; do
4646
--layer-name="${FULL_LAYER_NAME}" \
4747
--description="AWS Lambda Extension Layer for the Elastic APM Python Agent" \
4848
--license-info="BSD-3-Clause" \
49-
--compatible-runtimes python3.6 python3.7 python3.8 python3.9 python3.10 python3.11\
49+
--compatible-runtimes python3.6 python3.7 python3.8 python3.9 python3.10 python3.11 python3.12 python3.13\
5050
--zip-file="fileb://${zip_file}")
5151
echo "${publish_output}" > "${AWS_FOLDER}/${region}"
5252
layer_version=$(echo "${publish_output}" | jq '.Version')

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ test:
1111
# delete any __pycache__ folders to avoid hard-to-debug caching issues
1212
find . -type f -name '*.py[co]' -delete -o -type d -name __pycache__ -delete
1313
# pypy3 should be added to the first `if` once it supports py3.7
14-
if [[ "$$PYTHON_VERSION" =~ ^(3.7|3.8|3.9|3.10|3.11|3.12|nightly)$$ ]] ; then \
14+
if [[ "$$PYTHON_VERSION" =~ ^(3.7|3.8|3.9|3.10|3.11|3.12|3.13|nightly)$$ ]] ; then \
1515
echo "Python 3.7+, with asyncio"; \
1616
pytest -v $(PYTEST_ARGS) --showlocals $(PYTEST_MARKER) $(PYTEST_JUNIT); \
1717
else \

docs/reference/supported-technologies.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ The following Python versions are supported:
3030
* 3.10
3131
* 3.11
3232
* 3.12
33+
* 3.13
3334

3435

3536
### Django [supported-django]

setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ classifiers =
2222
Programming Language :: Python :: 3.10
2323
Programming Language :: Python :: 3.11
2424
Programming Language :: Python :: 3.12
25+
Programming Language :: Python :: 3.13
2526
Programming Language :: Python :: Implementation :: CPython
2627
Programming Language :: Python :: Implementation :: PyPy
2728
License :: OSI Approved :: BSD License

0 commit comments

Comments
 (0)