Skip to content

Commit 779e89b

Browse files
authored
Tests and Doc Updates for Adding Python 3.13 Support (#395)
## What does this pull request do? Relevant test and doc updates for adding Python 3.13 support. By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
1 parent 19c2098 commit 779e89b

File tree

13 files changed

+42
-19
lines changed

13 files changed

+42
-19
lines changed

.github/workflows/application-signals-e2e-test.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,17 @@ jobs:
9090
cpu-architecture: 'x86_64'
9191
staging-wheel-name: ${{ inputs.staging-wheel-name }}
9292

93+
default-py313-amd64:
94+
needs: [ upload-main-build ]
95+
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-ec2-default-test.yml@main
96+
secrets: inherit
97+
with:
98+
aws-region: us-east-1
99+
caller-workflow-name: 'main-build'
100+
python-version: '3.13'
101+
cpu-architecture: 'x86_64'
102+
staging-wheel-name: ${{ inputs.staging-wheel-name }}
103+
93104
#
94105
# DOCKER DISTRIBUTION LANGUAGE VERSION COVERAGE
95106
# DEFAULT SETTING: {Python Version}, EKS, AMD64, AL2
@@ -142,6 +153,18 @@ jobs:
142153
caller-workflow-name: 'main-build'
143154
python-version: '3.12'
144155

156+
eks-py313-amd64:
157+
if: ${{ always() }}
158+
needs: eks-py312-amd64
159+
uses: aws-observability/aws-application-signals-test-framework/.github/workflows/python-eks-test.yml@main
160+
secrets: inherit
161+
with:
162+
aws-region: us-east-1
163+
test-cluster-name: 'e2e-python-adot-test'
164+
adot-image-name: ${{ inputs.adot-image-name }}
165+
caller-workflow-name: 'main-build'
166+
python-version: '3.13'
167+
145168
#
146169
# PACKAGED DISTRIBUTION PLATFORM COVERAGE
147170
# DEFAULT SETTING: Python 3.9, {Platform}, AMD64, AL2

.github/workflows/pr_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
1717
matrix:
18-
python-version: ["3.9", "3.10", "3.11"]
18+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
1919
steps:
2020
- name: Checkout Repo @ SHA - ${{ github.sha }}
2121
uses: actions/checkout@v4

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ This project is licensed under the Apache-2.0 License.
3535
## Notices
3636

3737
### Python Version Support
38-
This project ensures compatibility with the following supported Python versions: 3.9, 3.10, 3.11, 3.12
38+
This project ensures compatibility with the following supported Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
3939

4040
### Note on Amazon CloudWatch Application Signals
4141
[Amazon CloudWatch Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html) components are designed to seamlessly work with all library instrumentations offered by [OpenTelemetry Python auto-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/README.md). While upstream OpenTelemetry Python instrumentations are in beta, Application Signals components are stable, production ready and have also been tested for popular libraries/frameworks such as [Django, Boto3, and others](https://github.com/aws-observability/aws-otel-python-instrumentation/tree/main/contract-tests/images/applications). We will prioritize backward compatibility for Application Signals components, striving to ensure that they remain functional even in the face of potential breaking changes introduced by OpenTelemetry upstream libraries. Please [raise an issue](https://github.com/aws-observability/aws-otel-python-instrumentation/blob/main/CONTRIBUTING.md#reporting-bugsfeature-requests) if you notice Application Signals doesn't work for a particular OpenTelemetry supported library.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
3+
typing-extensions==4.12.2
44
botocore==1.34.143
5-
boto3==1.34.143
5+
boto3==1.34.143
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
4-
django==5.0.11
3+
typing-extensions==4.12.2
4+
django==5.0.11
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
4-
mysql-connector-python~=9.1.0
3+
typing-extensions==4.12.2
4+
mysql-connector-python~=9.1.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
3+
typing-extensions==4.12.2
44
mysqlclient==2.2.4
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
4-
psycopg2==2.9.9
3+
typing-extensions==4.12.2
4+
psycopg2==2.9.9
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
4-
pymysql==1.1.1
3+
typing-extensions==4.12.2
4+
pymysql==1.1.1
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
opentelemetry-distro==0.46b0
22
opentelemetry-exporter-otlp-proto-grpc==1.25.0
3-
typing-extensions==4.9.0
3+
typing-extensions==4.12.2
44
requests~=2.0

contract-tests/images/mock-collector/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ license = "Apache-2.0"
1010
requires-python = ">=3.9"
1111

1212
dependencies = [
13-
"grpcio ~= 1.60.0",
13+
"grpcio ~= 1.66.0",
1414
"opentelemetry-proto==1.25.0",
1515
"opentelemetry-sdk==1.25.0",
1616
"protobuf==4.25.2",
17-
"typing-extensions==4.9.0"
17+
"typing-extensions==4.12.2"
1818
]
1919

2020
[tool.hatch.build.targets.sdist]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
grpcio==1.60.1
1+
grpcio==1.66.2
22
opentelemetry-proto==1.25.0
33
opentelemetry-sdk==1.25.0
44
protobuf==4.25.2
5-
typing-extensions==4.9.0
5+
typing-extensions==4.12.2

contract-tests/tests/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dependencies = [
1313
"opentelemetry-proto==1.25.0",
1414
"opentelemetry-sdk==1.25.0",
1515
"testcontainers==3.7.1",
16-
"grpcio==1.60.0",
16+
"grpcio==1.66.2",
1717
"docker==7.1.0",
1818
"mock-collector==1.0.0",
1919
"requests==2.32.2"

0 commit comments

Comments
 (0)