Skip to content

Commit bc47ed9

Browse files
wantsuiKyle-Verhoogamir-mic-linsabrennerchojomok
authored
feat: add initial python 3.14 support (#14264)
This change runs most of the test suite against Python 3.14.0rc1. There are additional suites enabled in #14720 Exceptions: riot envs and products that are not tested under 3.14 for various reasons * Profiling - doesn't work with 3.14 * IAST - doesn't work with 3.14 * datastreams - integration incompatible * dd_coverage - doesn't work with 3.14 * lib_injection - #14729 * vertica - hasn't been supported by ddtracepy since Python 3.9 * bottle - hasn't been supported by ddtracepy since Python 3.10 * django - django version 6.1, which will be compatible with Python 3.14, is not yet released * django_hosts - django version 6.1, which will be compatible with Python 3.14, is not yet released * djangorestframework - django version 6.1, which will be compatible with Python 3.14, is not yet released * django:celery - django version 6.1, which will be compatible with Python 3.14, is not yet released * dramatiq - dramatiq doesn't yet have a release supporting 3.14 * pynamodb - tests aren't compatible with Python >= 3.12 * pytest - integration incompatible * pytest_plugin_v2 - doesn't work with Python >= 3.13 * asynctest - untested since Python 3.9 * grpc_aio - some tests in the suite don't work with pytest-asyncio >= 1.0 * rq - integration incompatible * rediscluster - untested since Python 3.11 * aredis - untested since Python 3.9 * yaaredis - untested since Python 3.10 * sqlite3 - pysqlite3-binary doesn't yet support python 3.14 * opentelemetry - opentelemetry-exporter-otlp doesn't yet work with Python 3.14 * openai - tiktoken doesn't yet work with Python 3.14 * openai_agents - integration incompatible * langchain - doesn't work with 3.14 * langgraph - tiktoken doesn't yet work with Python 3.14 * litellm - tiktoken doesn't yet work with Python 3.14 * google_generativeai - protobuf doesn't yet work with Python 3.14 * vertexai - integration incompatible * crewai - tiktoken doesn't yet work with Python 3.14 * ray - ray doesn't yet work with Python 3.14 * kafka - confluent-kafka doesn't yet work with Python 3.14 * aws_lambda - datadog-lambda doesn't yet work with Python 3.14 * azure_functions - untested since Python 3.11 * llmobs - ragas doesn't yet work with Python 3.14 * ai_guard_langchain - tiktoken doesn't yet work with Python 3.14 --------- Co-authored-by: kyle <kyle@verhoog.ca> Co-authored-by: amirbenami <amir@linxsecurity.io> Co-authored-by: Sam Brenner <106700075+sabrenner@users.noreply.github.com> Co-authored-by: Mohammad A Islam <73513662+chojomok@users.noreply.github.com> Co-authored-by: Munir Abdinur <munir_abdinur@hotmail.com> Co-authored-by: Munir Abdinur <munir.abdinur@datadoghq.com> Co-authored-by: Christophe Papazian <114495376+christophe-papazian@users.noreply.github.com> Co-authored-by: Taegyun Kim <taegyun.kim@datadoghq.com> Co-authored-by: Florentin Labelle <florentin.labelle@datadoghq.com> Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com> Co-authored-by: Duncan Harvey <35278470+duncanpharvey@users.noreply.github.com> Co-authored-by: Federico Mon <federico.mon@datadoghq.com> Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com> Co-authored-by: quinna-h <175135214+quinna-h@users.noreply.github.com> Co-authored-by: Emmett Butler <emmett.butler321@gmail.com> Co-authored-by: Baptiste Foy <baptiste.foy@datadoghq.com> Co-authored-by: maxzhangdd <max.zhang@datadoghq.com> Co-authored-by: Yun Kim <35776586+Yun-Kim@users.noreply.github.com> Co-authored-by: Emmett Butler <723615+emmettbutler@users.noreply.github.com> Co-authored-by: Taegyun Kim <k.taegyun@gmail.com> Co-authored-by: Gabriele N. Tornetta <P403n1x87@users.noreply.github.com>
1 parent 65077d8 commit bc47ed9

File tree

316 files changed

+6352
-2973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

316 files changed

+6352
-2973
lines changed

.github/workflows/build_deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
needs: [ "compute_version" ]
6666
uses: ./.github/workflows/build_python_3.yml
6767
with:
68-
cibw_build: 'cp38* cp39* cp310* cp311* cp312* cp313*'
68+
cibw_build: 'cp38* cp39* cp310* cp311* cp312* cp313* cp314*'
6969
cibw_skip: 'cp38-win_arm64 cp39-win_arm64 cp310-win_arm64'
7070
library_version: ${{ needs.compute_version.outputs.library_version }}
7171

.gitlab/templates/build-base-venvs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build_base_venvs:
44
needs: []
55
parallel:
66
matrix:
7-
- PYTHON_VERSION: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
7+
- PYTHON_VERSION: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
88
variables:
99
CMAKE_BUILD_PARALLEL_LEVEL: '12'
1010
PIP_VERBOSE: '0'

.gitlab/templates/debugging/exploration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
DD_DEBUGGER_EXPL_INCLUDE: "boto3"
2525
parallel:
2626
matrix:
27-
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12", "3.13"]
27+
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
2828
BOTO3_TAG: 1.38.44
2929
script: |
3030
git clone --depth 1 --branch ${{BOTO3_TAG}} https://github.com/boto/boto3.git
@@ -43,7 +43,7 @@
4343
DD_DEBUGGER_EXPL_COVERAGE_INSTRUMENTATION_RATE: 0.05
4444
parallel:
4545
matrix:
46-
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12", "3.13"]
46+
- PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
4747
BOTO3_TAG: 1.38.44
4848
script: |
4949
git clone --depth 1 --branch ${{BOTO3_TAG}} https://github.com/boto/boto3.git

.gitlab/templates/detect-global-locks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ detect-global-locks:
44
needs: []
55
parallel:
66
matrix:
7-
- PYTHON_VERSION: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
7+
- PYTHON_VERSION: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
88
variables:
99
DD_DYNAMIC_INSTRUMENTATION_ENABLED: '1'
1010
DD_CODE_ORIGIN_FOR_SPANS_ENABLED: '1'

.riot/requirements/1021fa1.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ charset-normalizer==3.4.3
1212
click==8.1.8
1313
coverage[toml]==7.10.7
1414
exceptiongroup==1.3.0
15-
fastapi==0.117.1
15+
fastapi==0.118.0
1616
h11==0.16.0
1717
httpcore==1.0.9
1818
httpx==0.27.2
1919
hypothesis==6.45.0
2020
idna==3.10
2121
iniconfig==2.1.0
2222
jinja2==3.1.6
23-
markupsafe==3.0.2
23+
markupsafe==3.0.3
2424
mock==5.2.0
2525
opentracing==2.4.0
2626
packaging==25.0
@@ -38,6 +38,6 @@ sortedcontainers==2.4.0
3838
starlette==0.48.0
3939
tomli==2.2.1
4040
typing-extensions==4.15.0
41-
typing-inspection==0.4.1
41+
typing-inspection==0.4.2
4242
urllib3==2.5.0
4343
uvicorn==0.33.0

.riot/requirements/1038948.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.14
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1038948.in
6+
#
7+
attrs==25.3.0
8+
coverage[toml]==7.10.5
9+
hypothesis==6.45.0
10+
iniconfig==2.1.0
11+
loguru==0.7.3
12+
mock==5.2.0
13+
opentracing==2.4.0
14+
packaging==25.0
15+
pluggy==1.6.0
16+
pygments==2.19.2
17+
pytest==8.4.1
18+
pytest-cov==6.2.1
19+
pytest-mock==3.14.1
20+
pytest-randomly==3.16.0
21+
sortedcontainers==2.4.0

.riot/requirements/105c431.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.14
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/105c431.in
6+
#
7+
attrs==25.3.0
8+
coverage[toml]==7.10.5
9+
hypothesis==6.45.0
10+
iniconfig==2.1.0
11+
mock==5.2.0
12+
opentracing==2.4.0
13+
packaging==25.0
14+
pluggy==1.6.0
15+
pygments==2.19.2
16+
pytest==8.4.1
17+
pytest-cov==6.2.1
18+
pytest-mock==3.14.1
19+
pytest-randomly==3.16.0
20+
sortedcontainers==2.4.0

.riot/requirements/2199a1f.txt renamed to .riot/requirements/1063e95.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,33 @@
22
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
5-
# pip-compile --allow-unsafe --no-annotate --resolver=backtracking .riot/requirements/2199a1f.in
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1063e95.in
66
#
77
aiohttp==3.7.4.post0
88
async-timeout==3.0.1
99
attrs==25.3.0
1010
chardet==4.0.0
11-
coverage[toml]==7.8.2
11+
coverage[toml]==7.10.7
1212
exceptiongroup==1.3.0
1313
hypothesis==6.45.0
1414
idna==3.10
1515
importlib-metadata==8.7.0
1616
iniconfig==2.1.0
1717
mock==5.2.0
18-
multidict==6.4.4
18+
multidict==6.6.4
1919
opentracing==2.4.0
2020
packaging==25.0
2121
pluggy==1.6.0
22-
propcache==0.3.1
23-
pygments==2.19.1
24-
pytest==8.4.0
22+
propcache==0.3.2
23+
pygments==2.19.2
24+
pytest==8.4.2
2525
pytest-aiohttp==0.3.0
2626
pytest-asyncio==0.23.7
27-
pytest-cov==6.1.1
28-
pytest-mock==3.14.1
29-
pytest-randomly==3.16.0
27+
pytest-cov==7.0.0
28+
pytest-mock==3.15.1
29+
pytest-randomly==4.0.1
3030
sortedcontainers==2.4.0
3131
tomli==2.2.1
32-
typing-extensions==4.14.0
33-
yarl==1.20.0
32+
typing-extensions==4.15.0
33+
yarl==1.20.1
3434
zipp==3.23.0

.riot/requirements/106f38d.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.14
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/106f38d.in
6+
#
7+
attrs==25.3.0
8+
coverage[toml]==7.10.5
9+
dnspython==2.7.0
10+
hypothesis==6.45.0
11+
iniconfig==2.1.0
12+
mock==5.2.0
13+
mongoengine==0.29.1
14+
opentracing==2.4.0
15+
packaging==25.0
16+
pluggy==1.6.0
17+
pygments==2.19.2
18+
pymongo==4.8.0
19+
pytest==8.4.1
20+
pytest-cov==6.2.1
21+
pytest-mock==3.14.1
22+
pytest-randomly==3.16.0
23+
sortedcontainers==2.4.0

.riot/requirements/1592050.txt renamed to .riot/requirements/10739c4.txt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,44 @@
22
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile --no-annotate .riot/requirements/1592050.in
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/10739c4.in
66
#
77
annotated-types==0.7.0
8-
anyio==4.9.0
8+
anyio==4.10.0
99
attrs==25.3.0
10-
certifi==2025.7.14
10+
certifi==2025.8.3
1111
click==8.2.1
12-
coverage[toml]==7.9.2
12+
coverage[toml]==7.10.6
1313
h11==0.16.0
1414
httpcore==1.0.9
1515
httpx==0.28.1
1616
httpx-sse==0.4.1
1717
hypothesis==6.45.0
1818
idna==3.10
1919
iniconfig==2.1.0
20-
jsonschema==4.24.0
21-
jsonschema-specifications==2025.4.1
22-
mcp==1.11.0
20+
jsonschema==4.25.1
21+
jsonschema-specifications==2025.9.1
22+
mcp==1.14.1
2323
mock==5.2.0
2424
opentracing==2.4.0
2525
packaging==25.0
2626
pluggy==1.6.0
27-
pydantic==2.11.7
28-
pydantic-core==2.33.2
27+
pydantic==2.12.0a1
28+
pydantic-core==2.37.2
2929
pydantic-settings==2.10.1
3030
pygments==2.19.2
31-
pytest==8.4.1
32-
pytest-asyncio==1.0.0
33-
pytest-cov==6.2.1
34-
pytest-mock==3.14.1
31+
pytest==8.4.2
32+
pytest-asyncio==1.2.0
33+
pytest-cov==7.0.0
34+
pytest-mock==3.15.1
3535
python-dotenv==1.1.1
3636
python-multipart==0.0.20
3737
referencing==0.36.2
38-
rpds-py==0.26.0
38+
rpds-py==0.27.1
3939
sniffio==1.3.1
4040
sortedcontainers==2.4.0
41-
sse-starlette==2.4.1
42-
starlette==0.47.1
43-
typing-extensions==4.14.1
41+
sse-starlette==3.0.2
42+
starlette==0.48.0
43+
typing-extensions==4.15.0
4444
typing-inspection==0.4.1
4545
uvicorn==0.35.0

0 commit comments

Comments
 (0)