Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']

steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_layer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
fail-fast: false
matrix:
arch: [arm64, amd64]
python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python_version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![Slack](https://chat.datadoghq.com/badge.svg?bg=632CA6)](https://chat.datadoghq.com/)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/DataDog/datadog-lambda-python/blob/main/LICENSE)

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.
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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3.8 was deprecated ~6 months ago, we can probably drop it here from the readme and then later on from the codebase.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're having a discussion next week about how we want to handle deprecated runtimes, I think after we have a procedure we'll go through and clean up


## Installation

Expand Down
8 changes: 8 additions & 0 deletions ci/datasources/runtimes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,11 @@ runtimes:
python_version: "3.13"
arch: "arm64"
image: "3.13.0"
- name: "python314"
python_version: "3.14"
arch: "amd64"
image: "3.14.0"
- name: "python314"
python_version: "3.14"
arch: "arm64"
image: "3.14.0"
8 changes: 8 additions & 0 deletions ci/publish_layers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ AWS_CLI_PYTHON_VERSIONS=(
"python3.12"
"python3.13"
"python3.13"
"python3.14"
"python3.14"
)
PYTHON_VERSIONS=(
"3.8-amd64"
Expand All @@ -37,6 +39,8 @@ PYTHON_VERSIONS=(
"3.12-arm64"
"3.13-amd64"
"3.13-arm64"
"3.14-amd64"
"3.14-arm64"
)
LAYER_PATHS=(
".layers/datadog_lambda_py-amd64-3.8.zip"
Expand All @@ -51,6 +55,8 @@ LAYER_PATHS=(
".layers/datadog_lambda_py-arm64-3.12.zip"
".layers/datadog_lambda_py-amd64-3.13.zip"
".layers/datadog_lambda_py-arm64-3.13.zip"
".layers/datadog_lambda_py-amd64-3.14.zip"
".layers/datadog_lambda_py-arm64-3.14.zip"
)
LAYERS=(
"Datadog-Python38"
Expand All @@ -65,6 +71,8 @@ LAYERS=(
"Datadog-Python312-ARM"
"Datadog-Python313"
"Datadog-Python313-ARM"
"Datadog-Python314"
"Datadog-Python314-ARM"
)
STAGES=('prod', 'sandbox', 'staging', 'gov-staging', 'gov-prod')

Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,14 @@ classifiers = [
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]

[tool.poetry.dependencies]
python = ">=3.8.0,<4"
datadog = ">=0.51.0,<1.0.0"
wrapt = "^1.11.2"
ddtrace = ">=3.16.2,<4"
ddtrace = "!=3.19.0, <4"
ujson = ">=5.9.0"
botocore = { version = "^1.34.0", optional = true }
requests = { version ="^2.22.0", optional = true }
Expand Down
4 changes: 4 additions & 0 deletions scripts/add_new_region.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ LAYER_NAMES=(
"Datadog-Python312-ARM"
"Datadog-Python313"
"Datadog-Python313-ARM"
"Datadog-Python314"
"Datadog-Python314-ARM"
)
PYTHON_VERSIONS_FOR_AWS_CLI=(
"python3.8"
Expand All @@ -39,6 +41,8 @@ PYTHON_VERSIONS_FOR_AWS_CLI=(
"python3.12"
"python3.13"
"python3.13"
"python3.14"
"python3.14"
)
NEW_REGION=$1

Expand Down
2 changes: 1 addition & 1 deletion scripts/build_layers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ set -e

LAYER_DIR=".layers"
LAYER_FILES_PREFIX="datadog_lambda_py"
AVAILABLE_PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13")
AVAILABLE_PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14")
AVAILABLE_ARCHS=("arm64" "amd64")

if [ -z "$ARCH" ]; then
Expand Down
2 changes: 2 additions & 0 deletions scripts/list_layers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ LAYER_NAMES=(
"Datadog-Python312-ARM"
"Datadog-Python313"
"Datadog-Python313-ARM"
"Datadog-Python314"
"Datadog-Python314-ARM"
)
AVAILABLE_REGIONS=$(aws ec2 describe-regions | jq -r '.[] | .[] | .RegionName')
LAYERS_MISSING_REGIONS=()
Expand Down
2 changes: 1 addition & 1 deletion scripts/publish_govcloud.sh
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ do

export REGION=$region

for python_version in "3.8" "3.9" "3.10" "3.11" "3.12" "3.13"; do
for python_version in "3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14"; do
for arch in "amd64" "arm64"; do
export PYTHON_VERSION=$python_version
export ARCH=$arch
Expand Down
6 changes: 6 additions & 0 deletions scripts/publish_layers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ PYTHON_VERSIONS_FOR_AWS_CLI=(
"python3.12"
"python3.13"
"python3.13"
"python3.14"
"python3.14"
)
LAYER_PATHS=(
".layers/datadog_lambda_py-amd64-3.8.zip"
Expand All @@ -40,6 +42,8 @@ LAYER_PATHS=(
".layers/datadog_lambda_py-arm64-3.12.zip"
".layers/datadog_lambda_py-amd64-3.13.zip"
".layers/datadog_lambda_py-arm64-3.13.zip"
".layers/datadog_lambda_py-amd64-3.14.zip"
".layers/datadog_lambda_py-arm64-3.14.zip"
)
AVAILABLE_LAYERS=(
"Datadog-Python38"
Expand All @@ -54,6 +58,8 @@ AVAILABLE_LAYERS=(
"Datadog-Python312-ARM"
"Datadog-Python313"
"Datadog-Python313-ARM"
"Datadog-Python314"
"Datadog-Python314-ARM"
)
AVAILABLE_REGIONS=$(aws ec2 describe-regions | jq -r '.[] | .[] | .RegionName')

Expand Down
3 changes: 2 additions & 1 deletion scripts/run_integration_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ python310=("python3.10" "3.10" $(xxd -l 4 -c 4 -p < /dev/random))
python311=("python3.11" "3.11" $(xxd -l 4 -c 4 -p < /dev/random))
python312=("python3.12" "3.12" $(xxd -l 4 -c 4 -p < /dev/random))
python313=("python3.13" "3.13" $(xxd -l 4 -c 4 -p < /dev/random))
python314=("python3.14" "3.14" $(xxd -l 4 -c 4 -p < /dev/random))

PARAMETERS_SETS=("python38" "python39" "python310" "python311" "python312" "python313")
PARAMETERS_SETS=("python38" "python39" "python310" "python311" "python312" "python313" "python314")

if [ -z "$RUNTIME_PARAM" ]; then
echo "Python version not specified, running for all python versions."
Expand Down
2 changes: 1 addition & 1 deletion scripts/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Run unit tests in Docker
set -e

PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13")
PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14")

for python_version in "${PYTHON_VERSIONS[@]}"
do
Expand Down
2 changes: 2 additions & 0 deletions scripts/sign_layers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ LAYER_FILES=(
"datadog_lambda_py-arm64-3.12.zip"
"datadog_lambda_py-amd64-3.13.zip"
"datadog_lambda_py-arm64-3.13.zip"
"datadog_lambda_py-amd64-3.14.zip"
"datadog_lambda_py-arm64-3.14.zip"
)
SIGNING_PROFILE_NAME="DatadogLambdaSigningProfile"

Expand Down
Loading
Loading