Skip to content

Commit fc56ce1

Browse files
Adding Python 3.14 (#677)
* first pass of adding runtime 3.14, checked against uses of 3.12 * snapshots * removing comma * Skip testing profiling for 3.14 runtime * Updating asm to reflect dd-tract-py changes to http_utils._get_blocked_template * pinning to older ddtrace * Use pytest to skip profiling test * Update version of black which supports python3.14 * Update linting to newest version of black. --------- Co-authored-by: Rey Abolofia <rey.abolofia@datadoghq.com>
1 parent c678c09 commit fc56ce1

20 files changed

+3601
-26
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
strategy:
4444
max-parallel: 4
4545
matrix:
46-
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
46+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
4747

4848
steps:
4949
- name: Checkout

.github/workflows/build_layer.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
arch: [arm64, amd64]
18-
python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
18+
python_version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
1919

2020
steps:
2121
- name: Checkout

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[![Slack](https://chat.datadoghq.com/badge.svg?bg=632CA6)](https://chat.datadoghq.com/)
77
[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/DataDog/datadog-lambda-python/blob/main/LICENSE)
88

9-
Datadog Lambda Library for Python (3.8, 3.9, 3.10, 3.11, 3.12, and 3.13) enables [enhanced Lambda metrics](https://docs.datadoghq.com/serverless/enhanced_lambda_metrics), [distributed tracing](https://docs.datadoghq.com/serverless/distributed_tracing), and [custom metric submission](https://docs.datadoghq.com/serverless/custom_metrics) from AWS Lambda functions.
9+
Datadog Lambda Library for Python (3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14) enables [enhanced Lambda metrics](https://docs.datadoghq.com/serverless/enhanced_lambda_metrics), [distributed tracing](https://docs.datadoghq.com/serverless/distributed_tracing), and [custom metric submission](https://docs.datadoghq.com/serverless/custom_metrics) from AWS Lambda functions.
1010

1111
## Installation
1212

ci/datasources/runtimes.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,11 @@ runtimes:
4747
python_version: "3.13"
4848
arch: "arm64"
4949
image: "3.13.0"
50+
- name: "python314"
51+
python_version: "3.14"
52+
arch: "amd64"
53+
image: "3.14.0"
54+
- name: "python314"
55+
python_version: "3.14"
56+
arch: "arm64"
57+
image: "3.14.0"

ci/publish_layers.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ AWS_CLI_PYTHON_VERSIONS=(
2323
"python3.12"
2424
"python3.13"
2525
"python3.13"
26+
"python3.14"
27+
"python3.14"
2628
)
2729
PYTHON_VERSIONS=(
2830
"3.8-amd64"
@@ -37,6 +39,8 @@ PYTHON_VERSIONS=(
3739
"3.12-arm64"
3840
"3.13-amd64"
3941
"3.13-arm64"
42+
"3.14-amd64"
43+
"3.14-arm64"
4044
)
4145
LAYER_PATHS=(
4246
".layers/datadog_lambda_py-amd64-3.8.zip"
@@ -51,6 +55,8 @@ LAYER_PATHS=(
5155
".layers/datadog_lambda_py-arm64-3.12.zip"
5256
".layers/datadog_lambda_py-amd64-3.13.zip"
5357
".layers/datadog_lambda_py-arm64-3.13.zip"
58+
".layers/datadog_lambda_py-amd64-3.14.zip"
59+
".layers/datadog_lambda_py-arm64-3.14.zip"
5460
)
5561
LAYERS=(
5662
"Datadog-Python38"
@@ -65,6 +71,8 @@ LAYERS=(
6571
"Datadog-Python312-ARM"
6672
"Datadog-Python313"
6773
"Datadog-Python313-ARM"
74+
"Datadog-Python314"
75+
"Datadog-Python314-ARM"
6876
)
6977
STAGES=('prod', 'sandbox', 'staging', 'gov-staging', 'gov-prod')
7078

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ classifiers = [
2222
"Programming Language :: Python :: 3.11",
2323
"Programming Language :: Python :: 3.12",
2424
"Programming Language :: Python :: 3.13",
25+
"Programming Language :: Python :: 3.14",
2526
]
2627

2728
[tool.poetry.dependencies]

scripts/add_new_region.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ LAYER_NAMES=(
2525
"Datadog-Python312-ARM"
2626
"Datadog-Python313"
2727
"Datadog-Python313-ARM"
28+
"Datadog-Python314"
29+
"Datadog-Python314-ARM"
2830
)
2931
PYTHON_VERSIONS_FOR_AWS_CLI=(
3032
"python3.8"
@@ -39,6 +41,8 @@ PYTHON_VERSIONS_FOR_AWS_CLI=(
3941
"python3.12"
4042
"python3.13"
4143
"python3.13"
44+
"python3.14"
45+
"python3.14"
4246
)
4347
NEW_REGION=$1
4448

scripts/build_layers.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ set -e
1414

1515
LAYER_DIR=".layers"
1616
LAYER_FILES_PREFIX="datadog_lambda_py"
17-
AVAILABLE_PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13")
17+
AVAILABLE_PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14")
1818
AVAILABLE_ARCHS=("arm64" "amd64")
1919

2020
if [ -z "$ARCH" ]; then

scripts/check_format.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -e
33

44
PYTHON_VERSION=$(python -c 'import sys; print(sys.version_info.major)')
5-
pip install -Iv black==22.3.0
5+
pip install -Iv black==25.11.0
66

77
python -m black --check datadog_lambda/ --diff
88
python -m black --check tests --diff

scripts/list_layers.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ LAYER_NAMES=(
2323
"Datadog-Python312-ARM"
2424
"Datadog-Python313"
2525
"Datadog-Python313-ARM"
26+
"Datadog-Python314"
27+
"Datadog-Python314-ARM"
2628
)
2729
AVAILABLE_REGIONS=$(aws ec2 describe-regions | jq -r '.[] | .[] | .RegionName')
2830
LAYERS_MISSING_REGIONS=()

0 commit comments

Comments
 (0)