From 2ea5d85aebd7bf02ff8d255e2dcaa6855de382bb Mon Sep 17 00:00:00 2001 From: Riccardo Magliocchetti Date: Tue, 17 Dec 2024 18:23:32 +0100 Subject: [PATCH 1/6] RELEASING: fix stable tag removal (#4351) --- RELEASING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index e6073455bf..d92749f9c3 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -51,8 +51,8 @@ ```bash git tag -d stable git tag stable - git push --delete origin tagname - git push origin stable + git push --delete origin stable + git push origin tag stable ``` * ReadTheDocs will not automatically rebuild on tag changes, so manually kick-off a build of stable: https://readthedocs.org/projects/opentelemetry-python/builds/. From 17782492f5cec2e093fcd02e983d7f5e638b7cca Mon Sep 17 00:00:00 2001 From: Andrea Galbusera Date: Wed, 18 Dec 2024 14:38:53 +0100 Subject: [PATCH 2/6] Update package metadata adding "Repository" to project urls (#4363) Add "Repository" label to project urls pointing to the opentelemetry-python repo root url. Having within project urls one entry with the same value for all packages released by the project will help tools for automatic dependency management to suggest coherent upgrades for related packages. --- exporter/opentelemetry-exporter-opencensus/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp/pyproject.toml | 1 + exporter/opentelemetry-exporter-prometheus/pyproject.toml | 1 + exporter/opentelemetry-exporter-zipkin-json/pyproject.toml | 1 + exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml | 1 + exporter/opentelemetry-exporter-zipkin/pyproject.toml | 1 + opentelemetry-api/pyproject.toml | 1 + opentelemetry-proto/pyproject.toml | 1 + opentelemetry-sdk/pyproject.toml | 1 + opentelemetry-semantic-conventions/pyproject.toml | 1 + propagator/opentelemetry-propagator-b3/pyproject.toml | 1 + propagator/opentelemetry-propagator-jaeger/pyproject.toml | 1 + shim/opentelemetry-opencensus-shim/pyproject.toml | 1 + shim/opentelemetry-opentracing-shim/pyproject.toml | 1 + tests/opentelemetry-test-utils/pyproject.toml | 1 + 18 files changed, 18 insertions(+) diff --git a/exporter/opentelemetry-exporter-opencensus/pyproject.toml b/exporter/opentelemetry-exporter-opencensus/pyproject.toml index d60d960d9f..231bf6d72c 100644 --- a/exporter/opentelemetry-exporter-opencensus/pyproject.toml +++ b/exporter/opentelemetry-exporter-opencensus/pyproject.toml @@ -41,6 +41,7 @@ opencensus = "opentelemetry.exporter.opencensus.trace_exporter:OpenCensusSpanExp [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-opencensus" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/opencensus/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml index 1cfe4173d4..789ca4984b 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml @@ -32,6 +32,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/otlp/proto/common/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index 75959c2de8..0adf5d6624 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -47,6 +47,7 @@ otlp_proto_grpc = "opentelemetry.exporter.otlp.proto.grpc.trace_exporter:OTLPSpa [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-grpc" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/otlp/proto/grpc/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml index 5dedbf86ad..b27b714690 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml @@ -47,6 +47,7 @@ otlp_proto_http = "opentelemetry.exporter.otlp.proto.http._log_exporter:OTLPLogE [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/otlp/proto/http/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-otlp/pyproject.toml b/exporter/opentelemetry-exporter-otlp/pyproject.toml index 3a6ae1127b..07a86cab0c 100644 --- a/exporter/opentelemetry-exporter-otlp/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp/pyproject.toml @@ -43,6 +43,7 @@ otlp = "opentelemetry.exporter.otlp.proto.grpc.trace_exporter:OTLPSpanExporter" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/otlp/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-prometheus/pyproject.toml b/exporter/opentelemetry-exporter-prometheus/pyproject.toml index b2fe51c345..52817b00ca 100644 --- a/exporter/opentelemetry-exporter-prometheus/pyproject.toml +++ b/exporter/opentelemetry-exporter-prometheus/pyproject.toml @@ -38,6 +38,7 @@ prometheus = "opentelemetry.exporter.prometheus:_AutoPrometheusMetricReader" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-prometheus" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/prometheus/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml index 992f247156..ca918883d5 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml @@ -38,6 +38,7 @@ zipkin_json = "opentelemetry.exporter.zipkin.json:ZipkinExporter" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-zipkin-json" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/zipkin/json/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml index 93f88de869..73aa457b95 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml @@ -40,6 +40,7 @@ zipkin_proto = "opentelemetry.exporter.zipkin.proto.http:ZipkinExporter" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-zipkin-proto-http" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/zipkin/proto/http/version/__init__.py" diff --git a/exporter/opentelemetry-exporter-zipkin/pyproject.toml b/exporter/opentelemetry-exporter-zipkin/pyproject.toml index 611cc2f465..06ffd7fa9a 100644 --- a/exporter/opentelemetry-exporter-zipkin/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin/pyproject.toml @@ -37,6 +37,7 @@ zipkin = "opentelemetry.exporter.zipkin.proto.http:ZipkinExporter" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-zipkin" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/exporter/zipkin/version/__init__.py" diff --git a/opentelemetry-api/pyproject.toml b/opentelemetry-api/pyproject.toml index 9ef400d85c..0e4c4f2ac8 100644 --- a/opentelemetry-api/pyproject.toml +++ b/opentelemetry-api/pyproject.toml @@ -53,6 +53,7 @@ default_tracer_provider = "opentelemetry.trace:NoOpTracerProvider" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-api" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/version/__init__.py" diff --git a/opentelemetry-proto/pyproject.toml b/opentelemetry-proto/pyproject.toml index 6bf212218f..f59cdfc196 100644 --- a/opentelemetry-proto/pyproject.toml +++ b/opentelemetry-proto/pyproject.toml @@ -31,6 +31,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-proto" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/proto/version/__init__.py" diff --git a/opentelemetry-sdk/pyproject.toml b/opentelemetry-sdk/pyproject.toml index 1d4f8072f6..2bce3d99e3 100644 --- a/opentelemetry-sdk/pyproject.toml +++ b/opentelemetry-sdk/pyproject.toml @@ -72,6 +72,7 @@ host = "opentelemetry.sdk.resources:_HostResourceDetector" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/sdk/version/__init__.py" diff --git a/opentelemetry-semantic-conventions/pyproject.toml b/opentelemetry-semantic-conventions/pyproject.toml index c6da423492..272e47df3b 100644 --- a/opentelemetry-semantic-conventions/pyproject.toml +++ b/opentelemetry-semantic-conventions/pyproject.toml @@ -33,6 +33,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-semantic-conventions" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/semconv/version/__init__.py" diff --git a/propagator/opentelemetry-propagator-b3/pyproject.toml b/propagator/opentelemetry-propagator-b3/pyproject.toml index a4d2ce7e7e..6641c712c5 100644 --- a/propagator/opentelemetry-propagator-b3/pyproject.toml +++ b/propagator/opentelemetry-propagator-b3/pyproject.toml @@ -37,6 +37,7 @@ b3multi = "opentelemetry.propagators.b3:B3MultiFormat" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/propagator/opentelemetry-propagator-b3" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/propagators/b3/version/__init__.py" diff --git a/propagator/opentelemetry-propagator-jaeger/pyproject.toml b/propagator/opentelemetry-propagator-jaeger/pyproject.toml index 42df05ed5d..49e1df0cbe 100644 --- a/propagator/opentelemetry-propagator-jaeger/pyproject.toml +++ b/propagator/opentelemetry-propagator-jaeger/pyproject.toml @@ -35,6 +35,7 @@ jaeger = "opentelemetry.propagators.jaeger:JaegerPropagator" [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/propagator/opentelemetry-propagator-jaeger" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/propagators/jaeger/version/__init__.py" diff --git a/shim/opentelemetry-opencensus-shim/pyproject.toml b/shim/opentelemetry-opencensus-shim/pyproject.toml index 1301f4b669..bbe176d014 100644 --- a/shim/opentelemetry-opencensus-shim/pyproject.toml +++ b/shim/opentelemetry-opencensus-shim/pyproject.toml @@ -37,6 +37,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/shim/opentelemetry-opencensus-shim" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/shim/opencensus/version/__init__.py" diff --git a/shim/opentelemetry-opentracing-shim/pyproject.toml b/shim/opentelemetry-opentracing-shim/pyproject.toml index 69e4aa4b17..f0e5a546ea 100644 --- a/shim/opentelemetry-opentracing-shim/pyproject.toml +++ b/shim/opentelemetry-opentracing-shim/pyproject.toml @@ -34,6 +34,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/shim/opentelemetry-opentracing-shim" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/shim/opentracing_shim/version/__init__.py" diff --git a/tests/opentelemetry-test-utils/pyproject.toml b/tests/opentelemetry-test-utils/pyproject.toml index 94ce779897..07bc20d47c 100644 --- a/tests/opentelemetry-test-utils/pyproject.toml +++ b/tests/opentelemetry-test-utils/pyproject.toml @@ -33,6 +33,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/open-telemetry/opentelemetry-python/tests/opentelemetry-test-utils" +Repository = "https://github.com/open-telemetry/opentelemetry-python" [tool.hatch.version] path = "src/opentelemetry/test/version/__init__.py" From b48223561acfdffd1411ed7d015ddabe6f6eb801 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Thu, 19 Dec 2024 14:45:09 +0100 Subject: [PATCH 3/6] fix: add missing typing on TracerProvider.shutdown (#4365) --- opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index b144e071a8..c40a7a7070 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -1277,7 +1277,7 @@ def add_span_processor(self, span_processor: SpanProcessor) -> None: # SynchronousMultiSpanProcessor and ConcurrentMultiSpanProcessor. self._active_span_processor.add_span_processor(span_processor) - def shutdown(self): + def shutdown(self) -> None: """Shut down the span processors added to the tracer provider.""" self._active_span_processor.shutdown() if self._atexit_handler is not None: From 3ae113816d151af3320b8ce17816a91ebd20e44e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Em=C3=ADdio=20Neto?= <9735060+emdneto@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:19:37 -0300 Subject: [PATCH 4/6] add python 3.13 support (#4353) --- .github/workflows/benchmarks.yml | 2 +- .github/workflows/generate_workflows.py | 1 + .github/workflows/test_0.yml | 827 +++++++++++++++--- .github/workflows/test_1.yml | 202 +---- CHANGELOG.md | 3 + CONTRIBUTING.md | 2 +- .../error_handler_0/pyproject.toml | 1 + .../error_handler_1/pyproject.toml | 1 + .../pyproject.toml | 1 + .../test-requirements.txt | 2 +- .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + opentelemetry-api/pyproject.toml | 1 + opentelemetry-proto/pyproject.toml | 1 + opentelemetry-sdk/pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../test-requirements.txt | 4 +- .../pyproject.toml | 1 + tests/opentelemetry-test-utils/pyproject.toml | 1 + tox.ini | 38 +- 29 files changed, 786 insertions(+), 315 deletions(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index be9b44d8e2..f3f586e68c 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -13,7 +13,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" architecture: 'x64' - name: Install tox run: pip install tox diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py index 5413019528..05c5d2305d 100644 --- a/.github/workflows/generate_workflows.py +++ b/.github/workflows/generate_workflows.py @@ -53,6 +53,7 @@ def get_test_job_datas(tox_envs: list, operating_systems: list) -> list: "py310": "3.10", "py311": "3.11", "py312": "3.12", + "py313": "3.13", } test_job_datas = [] diff --git a/.github/workflows/test_0.yml b/.github/workflows/test_0.yml index dfbced1b39..d24d732534 100644 --- a/.github/workflows/test_0.yml +++ b/.github/workflows/test_0.yml @@ -106,6 +106,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-api -- -ra + py313-test-opentelemetry-api_ubuntu-latest: + name: opentelemetry-api 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-api -- -ra + pypy3-test-opentelemetry-api_ubuntu-latest: name: opentelemetry-api pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -214,6 +232,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-proto-protobuf5 -- -ra + py313-test-opentelemetry-proto-protobuf5_ubuntu-latest: + name: opentelemetry-proto-protobuf5 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-proto-protobuf5 -- -ra + pypy3-test-opentelemetry-proto-protobuf5_ubuntu-latest: name: opentelemetry-proto-protobuf5 pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -322,6 +358,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-sdk -- -ra + py313-test-opentelemetry-sdk_ubuntu-latest: + name: opentelemetry-sdk 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-sdk -- -ra + pypy3-test-opentelemetry-sdk_ubuntu-latest: name: opentelemetry-sdk pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -430,6 +484,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-semantic-conventions -- -ra + py313-test-opentelemetry-semantic-conventions_ubuntu-latest: + name: opentelemetry-semantic-conventions 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-semantic-conventions -- -ra + pypy3-test-opentelemetry-semantic-conventions_ubuntu-latest: name: opentelemetry-semantic-conventions pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -538,6 +610,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-getting-started -- -ra + py313-test-opentelemetry-getting-started_ubuntu-latest: + name: opentelemetry-getting-started 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-getting-started -- -ra + py38-test-opentelemetry-opentracing-shim_ubuntu-latest: name: opentelemetry-opentracing-shim 3.8 Ubuntu runs-on: ubuntu-latest @@ -628,6 +718,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-opentracing-shim -- -ra + py313-test-opentelemetry-opentracing-shim_ubuntu-latest: + name: opentelemetry-opentracing-shim 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-opentracing-shim -- -ra + pypy3-test-opentelemetry-opentracing-shim_ubuntu-latest: name: opentelemetry-opentracing-shim pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -736,6 +844,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-opencensus-shim -- -ra + py313-test-opentelemetry-opencensus-shim_ubuntu-latest: + name: opentelemetry-opencensus-shim 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-opencensus-shim -- -ra + py38-test-opentelemetry-exporter-opencensus_ubuntu-latest: name: opentelemetry-exporter-opencensus 3.8 Ubuntu runs-on: ubuntu-latest @@ -826,6 +952,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-opencensus -- -ra + py313-test-opentelemetry-exporter-opencensus_ubuntu-latest: + name: opentelemetry-exporter-opencensus 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-opencensus -- -ra + py38-test-opentelemetry-exporter-otlp-proto-common_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-common 3.8 Ubuntu runs-on: ubuntu-latest @@ -916,6 +1060,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-proto-common -- -ra + py313-test-opentelemetry-exporter-otlp-proto-common_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-common 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-common -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-common_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-common pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1024,6 +1186,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-combined -- -ra + py313-test-opentelemetry-exporter-otlp-combined_ubuntu-latest: + name: opentelemetry-exporter-otlp-combined 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-combined -- -ra + py38-test-opentelemetry-exporter-otlp-proto-grpc_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-grpc 3.8 Ubuntu runs-on: ubuntu-latest @@ -1114,6 +1294,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-proto-grpc -- -ra + py313-test-opentelemetry-exporter-otlp-proto-grpc_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-grpc 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-grpc -- -ra + py38-test-opentelemetry-exporter-otlp-proto-http_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-http 3.8 Ubuntu runs-on: ubuntu-latest @@ -1204,6 +1402,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra + py313-test-opentelemetry-exporter-otlp-proto-http_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-http 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-http_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-http pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1312,6 +1528,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra + py313-test-opentelemetry-exporter-prometheus_ubuntu-latest: + name: opentelemetry-exporter-prometheus 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra + pypy3-test-opentelemetry-exporter-prometheus_ubuntu-latest: name: opentelemetry-exporter-prometheus pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1420,6 +1654,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra + py313-test-opentelemetry-exporter-zipkin-combined_ubuntu-latest: + name: opentelemetry-exporter-zipkin-combined 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra + pypy3-test-opentelemetry-exporter-zipkin-combined_ubuntu-latest: name: opentelemetry-exporter-zipkin-combined pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1528,6 +1780,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra + py313-test-opentelemetry-exporter-zipkin-proto-http_ubuntu-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra + pypy3-test-opentelemetry-exporter-zipkin-proto-http_ubuntu-latest: name: opentelemetry-exporter-zipkin-proto-http pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1636,6 +1906,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra + py313-test-opentelemetry-exporter-zipkin-json_ubuntu-latest: + name: opentelemetry-exporter-zipkin-json 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra + pypy3-test-opentelemetry-exporter-zipkin-json_ubuntu-latest: name: opentelemetry-exporter-zipkin-json pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1744,6 +2032,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra + py313-test-opentelemetry-propagator-b3_ubuntu-latest: + name: opentelemetry-propagator-b3 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra + pypy3-test-opentelemetry-propagator-b3_ubuntu-latest: name: opentelemetry-propagator-b3 pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1852,6 +2158,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra + py313-test-opentelemetry-propagator-jaeger_ubuntu-latest: + name: opentelemetry-propagator-jaeger 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra + pypy3-test-opentelemetry-propagator-jaeger_ubuntu-latest: name: opentelemetry-propagator-jaeger pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -1960,6 +2284,24 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-test-utils -- -ra + py313-test-opentelemetry-test-utils_ubuntu-latest: + name: opentelemetry-test-utils 3.13 Ubuntu + runs-on: ubuntu-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Run tests + run: tox -e py313-test-opentelemetry-test-utils -- -ra + pypy3-test-opentelemetry-test-utils_ubuntu-latest: name: opentelemetry-test-utils pypy-3.8 Ubuntu runs-on: ubuntu-latest @@ -2083,17 +2425,17 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-api -- -ra - pypy3-test-opentelemetry-api_windows-latest: - name: opentelemetry-api pypy-3.8 Windows + py313-test-opentelemetry-api_windows-latest: + name: opentelemetry-api 3.13 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python pypy-3.8 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "pypy-3.8" + python-version: "3.13" - name: Install tox run: pip install tox @@ -2102,10 +2444,31 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e pypy3-test-opentelemetry-api -- -ra + run: tox -e py313-test-opentelemetry-api -- -ra - py38-test-opentelemetry-proto-protobuf5_windows-latest: - name: opentelemetry-proto-protobuf5 3.8 Windows + pypy3-test-opentelemetry-api_windows-latest: + name: opentelemetry-api pypy-3.8 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.8 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.8" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-api -- -ra + + py38-test-opentelemetry-proto-protobuf5_windows-latest: + name: opentelemetry-proto-protobuf5 3.8 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} @@ -2209,6 +2572,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-proto-protobuf5 -- -ra + py313-test-opentelemetry-proto-protobuf5_windows-latest: + name: opentelemetry-proto-protobuf5 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-proto-protobuf5 -- -ra + pypy3-test-opentelemetry-proto-protobuf5_windows-latest: name: opentelemetry-proto-protobuf5 pypy-3.8 Windows runs-on: windows-latest @@ -2335,6 +2719,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-sdk -- -ra + py313-test-opentelemetry-sdk_windows-latest: + name: opentelemetry-sdk 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-sdk -- -ra + pypy3-test-opentelemetry-sdk_windows-latest: name: opentelemetry-sdk pypy-3.8 Windows runs-on: windows-latest @@ -2461,6 +2866,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-semantic-conventions -- -ra + py313-test-opentelemetry-semantic-conventions_windows-latest: + name: opentelemetry-semantic-conventions 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-semantic-conventions -- -ra + pypy3-test-opentelemetry-semantic-conventions_windows-latest: name: opentelemetry-semantic-conventions pypy-3.8 Windows runs-on: windows-latest @@ -2587,6 +3013,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-getting-started -- -ra + py313-test-opentelemetry-getting-started_windows-latest: + name: opentelemetry-getting-started 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-getting-started -- -ra + py38-test-opentelemetry-opentracing-shim_windows-latest: name: opentelemetry-opentracing-shim 3.8 Windows runs-on: windows-latest @@ -2692,6 +3139,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-opentracing-shim -- -ra + py313-test-opentelemetry-opentracing-shim_windows-latest: + name: opentelemetry-opentracing-shim 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-opentracing-shim -- -ra + pypy3-test-opentelemetry-opentracing-shim_windows-latest: name: opentelemetry-opentracing-shim pypy-3.8 Windows runs-on: windows-latest @@ -2818,6 +3286,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-opencensus-shim -- -ra + py313-test-opentelemetry-opencensus-shim_windows-latest: + name: opentelemetry-opencensus-shim 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-opencensus-shim -- -ra + py38-test-opentelemetry-exporter-opencensus_windows-latest: name: opentelemetry-exporter-opencensus 3.8 Windows runs-on: windows-latest @@ -2923,6 +3412,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-opencensus -- -ra + py313-test-opentelemetry-exporter-opencensus_windows-latest: + name: opentelemetry-exporter-opencensus 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-opencensus -- -ra + py38-test-opentelemetry-exporter-otlp-proto-common_windows-latest: name: opentelemetry-exporter-otlp-proto-common 3.8 Windows runs-on: windows-latest @@ -3028,6 +3538,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-proto-common -- -ra + py313-test-opentelemetry-exporter-otlp-proto-common_windows-latest: + name: opentelemetry-exporter-otlp-proto-common 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-common -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-common_windows-latest: name: opentelemetry-exporter-otlp-proto-common pypy-3.8 Windows runs-on: windows-latest @@ -3154,6 +3685,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-combined -- -ra + py313-test-opentelemetry-exporter-otlp-combined_windows-latest: + name: opentelemetry-exporter-otlp-combined 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-combined -- -ra + py38-test-opentelemetry-exporter-otlp-proto-grpc_windows-latest: name: opentelemetry-exporter-otlp-proto-grpc 3.8 Windows runs-on: windows-latest @@ -3259,6 +3811,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-proto-grpc -- -ra + py313-test-opentelemetry-exporter-otlp-proto-grpc_windows-latest: + name: opentelemetry-exporter-otlp-proto-grpc 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-grpc -- -ra + py38-test-opentelemetry-exporter-otlp-proto-http_windows-latest: name: opentelemetry-exporter-otlp-proto-http 3.8 Windows runs-on: windows-latest @@ -3364,6 +3937,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra + py313-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-http_windows-latest: name: opentelemetry-exporter-otlp-proto-http pypy-3.8 Windows runs-on: windows-latest @@ -3490,6 +4084,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra + py313-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra + pypy3-test-opentelemetry-exporter-prometheus_windows-latest: name: opentelemetry-exporter-prometheus pypy-3.8 Windows runs-on: windows-latest @@ -3616,6 +4231,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra + py313-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra + pypy3-test-opentelemetry-exporter-zipkin-combined_windows-latest: name: opentelemetry-exporter-zipkin-combined pypy-3.8 Windows runs-on: windows-latest @@ -3742,6 +4378,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra + py313-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra + pypy3-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: name: opentelemetry-exporter-zipkin-proto-http pypy-3.8 Windows runs-on: windows-latest @@ -3868,6 +4525,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra + py313-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra + pypy3-test-opentelemetry-exporter-zipkin-json_windows-latest: name: opentelemetry-exporter-zipkin-json pypy-3.8 Windows runs-on: windows-latest @@ -3994,6 +4672,27 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra + py313-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.13 Windows + runs-on: windows-latest + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra + pypy3-test-opentelemetry-propagator-b3_windows-latest: name: opentelemetry-propagator-b3 pypy-3.8 Windows runs-on: windows-latest @@ -4120,80 +4819,17 @@ jobs: - name: Run tests run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra - pypy3-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger pypy-3.8 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.8 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.8" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra - - py38-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.8 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: "3.8" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py38-test-opentelemetry-test-utils -- -ra - - py39-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.9 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py39-test-opentelemetry-test-utils -- -ra - - py310-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.10 Windows + py313-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.13 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.13" - name: Install tox run: pip install tox @@ -4202,40 +4838,19 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-test-utils -- -ra + run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra - py311-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.11 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py311-test-opentelemetry-test-utils -- -ra - - py312-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.12 Windows + pypy3-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger pypy-3.8 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python pypy-3.8 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "pypy-3.8" - name: Install tox run: pip install tox @@ -4244,19 +4859,19 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-test-utils -- -ra + run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra - pypy3-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils pypy-3.8 Windows + py38-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.8 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python pypy-3.8 + - name: Set up Python 3.8 uses: actions/setup-python@v5 with: - python-version: "pypy-3.8" + python-version: "3.8" - name: Install tox run: pip install tox @@ -4265,4 +4880,4 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e pypy3-test-opentelemetry-test-utils -- -ra + run: tox -e py38-test-opentelemetry-test-utils -- -ra diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml index 892039b33e..49d34716c5 100644 --- a/.github/workflows/test_1.yml +++ b/.github/workflows/test_1.yml @@ -16,71 +16,8 @@ env: jobs: - py312-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.12 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra - - pypy3-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 pypy-3.8 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.8 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.8" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-b3 -- -ra - - py38-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.8 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: "3.8" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py38-test-opentelemetry-propagator-jaeger -- -ra - - py39-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.9 Windows + py39-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.9 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} @@ -98,10 +35,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py39-test-opentelemetry-test-utils -- -ra - py310-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.10 Windows + py310-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.10 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} @@ -119,10 +56,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py310-test-opentelemetry-test-utils -- -ra - py311-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.11 Windows + py311-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.11 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} @@ -140,10 +77,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py311-test-opentelemetry-test-utils -- -ra - py312-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.12 Windows + py312-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.12 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} @@ -161,124 +98,19 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra - - pypy3-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger pypy-3.8 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.8 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.8" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra - - py38-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.8 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: "3.8" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py38-test-opentelemetry-test-utils -- -ra - - py39-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.9 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py39-test-opentelemetry-test-utils -- -ra - - py310-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.10 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py310-test-opentelemetry-test-utils -- -ra - - py311-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.11 Windows - runs-on: windows-latest - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py311-test-opentelemetry-test-utils -- -ra + run: tox -e py312-test-opentelemetry-test-utils -- -ra - py312-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.12 Windows + py313-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.13 Windows runs-on: windows-latest steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" - name: Install tox run: pip install tox @@ -287,7 +119,7 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-test-utils -- -ra + run: tox -e py313-test-opentelemetry-test-utils -- -ra pypy3-test-opentelemetry-test-utils_windows-latest: name: opentelemetry-test-utils pypy-3.8 Windows diff --git a/CHANGELOG.md b/CHANGELOG.md index f8b1a254db..6a38aa90e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +- Add Python 3.13 support + ([#4353](https://github.com/open-telemetry/opentelemetry-python/pull/4353)) + ## Version 1.29.0/0.50b0 (2024-12-11) - Fix crash exporting a log record with None body diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 658f0d2026..ed9951b6a2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -54,7 +54,7 @@ You can run `tox` with the following arguments: under multiple Python versions - `tox -e docs` to regenerate the API docs - `tox -e opentelemetry-api` and `tox -e opentelemetry-sdk` to run the API and SDK unit tests -- `tox -e py312-opentelemetry-api` to e.g. run the API unit tests under a specific +- `tox -e py313-opentelemetry-api` to e.g. run the API unit tests under a specific Python version - `tox -e spellcheck` to run a spellcheck on all the code - `tox -e lint-some-package` to run lint checks on `some-package` diff --git a/docs/examples/error_handler/error_handler_0/pyproject.toml b/docs/examples/error_handler/error_handler_0/pyproject.toml index f2b9d6b0d3..a8588c0669 100644 --- a/docs/examples/error_handler/error_handler_0/pyproject.toml +++ b/docs/examples/error_handler/error_handler_0/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-sdk ~= 1.3", diff --git a/docs/examples/error_handler/error_handler_1/pyproject.toml b/docs/examples/error_handler/error_handler_1/pyproject.toml index 31fb80f4c3..c747b4243d 100644 --- a/docs/examples/error_handler/error_handler_1/pyproject.toml +++ b/docs/examples/error_handler/error_handler_1/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-sdk ~= 1.3", diff --git a/exporter/opentelemetry-exporter-opencensus/pyproject.toml b/exporter/opentelemetry-exporter-opencensus/pyproject.toml index 231bf6d72c..25a84e5830 100644 --- a/exporter/opentelemetry-exporter-opencensus/pyproject.toml +++ b/exporter/opentelemetry-exporter-opencensus/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-opencensus/test-requirements.txt b/exporter/opentelemetry-exporter-opencensus/test-requirements.txt index aad1363f39..9240593a0d 100644 --- a/exporter/opentelemetry-exporter-opencensus/test-requirements.txt +++ b/exporter/opentelemetry-exporter-opencensus/test-requirements.txt @@ -1,6 +1,6 @@ asgiref==3.7.2 Deprecated==1.2.14 -grpcio==1.62.0 +grpcio==1.66.2 importlib-metadata==6.11.0 iniconfig==2.0.0 opencensus-proto==0.1.0 diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml index 789ca4984b..ba510b4b1a 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-proto == 1.30.0.dev", diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index 0adf5d6624..8eef734370 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "Deprecated >= 1.2.6", diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml index b27b714690..454fecf3cd 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "Deprecated >= 1.2.6", diff --git a/exporter/opentelemetry-exporter-otlp/pyproject.toml b/exporter/opentelemetry-exporter-otlp/pyproject.toml index 07a86cab0c..d4e582a792 100644 --- a/exporter/opentelemetry-exporter-otlp/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-prometheus/pyproject.toml b/exporter/opentelemetry-exporter-prometheus/pyproject.toml index 52817b00ca..4350174821 100644 --- a/exporter/opentelemetry-exporter-prometheus/pyproject.toml +++ b/exporter/opentelemetry-exporter-prometheus/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-api ~= 1.12", diff --git a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml index ca918883d5..001a99b89d 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml index 73aa457b95..70d1dc2451 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-zipkin/pyproject.toml b/exporter/opentelemetry-exporter-zipkin/pyproject.toml index 06ffd7fa9a..b0351f0483 100644 --- a/exporter/opentelemetry-exporter-zipkin/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-api/pyproject.toml b/opentelemetry-api/pyproject.toml index 0e4c4f2ac8..ae1344329f 100644 --- a/opentelemetry-api/pyproject.toml +++ b/opentelemetry-api/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-proto/pyproject.toml b/opentelemetry-proto/pyproject.toml index f59cdfc196..0afdbf9110 100644 --- a/opentelemetry-proto/pyproject.toml +++ b/opentelemetry-proto/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "protobuf>=5.0, < 6.0", diff --git a/opentelemetry-sdk/pyproject.toml b/opentelemetry-sdk/pyproject.toml index 2bce3d99e3..2489211d88 100644 --- a/opentelemetry-sdk/pyproject.toml +++ b/opentelemetry-sdk/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-semantic-conventions/pyproject.toml b/opentelemetry-semantic-conventions/pyproject.toml index 272e47df3b..3a93486269 100644 --- a/opentelemetry-semantic-conventions/pyproject.toml +++ b/opentelemetry-semantic-conventions/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ diff --git a/propagator/opentelemetry-propagator-b3/pyproject.toml b/propagator/opentelemetry-propagator-b3/pyproject.toml index 6641c712c5..50851b141b 100644 --- a/propagator/opentelemetry-propagator-b3/pyproject.toml +++ b/propagator/opentelemetry-propagator-b3/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/propagator/opentelemetry-propagator-jaeger/pyproject.toml b/propagator/opentelemetry-propagator-jaeger/pyproject.toml index 49e1df0cbe..0930c590c7 100644 --- a/propagator/opentelemetry-propagator-jaeger/pyproject.toml +++ b/propagator/opentelemetry-propagator-jaeger/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/shim/opentelemetry-opencensus-shim/pyproject.toml b/shim/opentelemetry-opencensus-shim/pyproject.toml index bbe176d014..3a35b624b5 100644 --- a/shim/opentelemetry-opencensus-shim/pyproject.toml +++ b/shim/opentelemetry-opencensus-shim/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/shim/opentelemetry-opencensus-shim/test-requirements.txt b/shim/opentelemetry-opencensus-shim/test-requirements.txt index 22810bf4d6..90e24cfa22 100644 --- a/shim/opentelemetry-opencensus-shim/test-requirements.txt +++ b/shim/opentelemetry-opencensus-shim/test-requirements.txt @@ -5,8 +5,8 @@ charset-normalizer==3.3.2 Deprecated==1.2.14 google-api-core==2.17.1 google-auth==2.28.1 -googleapis-common-protos==1.62.0 -grpcio==1.62.0 +googleapis-common-protos==1.63.2 +grpcio==1.66.2 idna==3.7 importlib-metadata==6.11.0 iniconfig==2.0.0 diff --git a/shim/opentelemetry-opentracing-shim/pyproject.toml b/shim/opentelemetry-opentracing-shim/pyproject.toml index f0e5a546ea..c39003b0a2 100644 --- a/shim/opentelemetry-opentracing-shim/pyproject.toml +++ b/shim/opentelemetry-opentracing-shim/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/tests/opentelemetry-test-utils/pyproject.toml b/tests/opentelemetry-test-utils/pyproject.toml index 07bc20d47c..42aebc5424 100644 --- a/tests/opentelemetry-test-utils/pyproject.toml +++ b/tests/opentelemetry-test-utils/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "asgiref ~= 3.0", diff --git a/tox.ini b/tox.ini index f9a4c8e091..84c9420494 100644 --- a/tox.ini +++ b/tox.ini @@ -6,83 +6,83 @@ envlist = ; Environments are organized by individual package, allowing ; for specifying supported Python versions per package. - py3{8,9,10,11,12}-test-opentelemetry-api + py3{8,9,10,11,12,13}-test-opentelemetry-api pypy3-test-opentelemetry-api lint-opentelemetry-api - py3{8,9,10,11,12}-test-opentelemetry-proto-protobuf5 + py3{8,9,10,11,12,13}-test-opentelemetry-proto-protobuf5 pypy3-test-opentelemetry-proto-protobuf5 lint-opentelemetry-proto-protobuf5 - py3{8,9,10,11,12}-test-opentelemetry-sdk + py3{8,9,10,11,12,13}-test-opentelemetry-sdk pypy3-test-opentelemetry-sdk lint-opentelemetry-sdk benchmark-opentelemetry-sdk - py3{8,9,10,11,12}-test-opentelemetry-semantic-conventions + py3{8,9,10,11,12,13}-test-opentelemetry-semantic-conventions pypy3-test-opentelemetry-semantic-conventions lint-opentelemetry-semantic-conventions - py3{8,9,10,11,12}-test-opentelemetry-getting-started + py3{8,9,10,11,12,13}-test-opentelemetry-getting-started lint-opentelemetry-getting-started - py3{8,9,10,11,12}-test-opentelemetry-opentracing-shim + py3{8,9,10,11,12,13}-test-opentelemetry-opentracing-shim pypy3-test-opentelemetry-opentracing-shim lint-opentelemetry-opentracing-shim - py3{8,9,10,11,12}-test-opentelemetry-opencensus-shim + py3{8,9,10,11,12,13}-test-opentelemetry-opencensus-shim ; opencensus-shim intentionally excluded from pypy3 (grpcio install fails) lint-opentelemetry-opencensus-shim - py3{8,9,10,11,12}-test-opentelemetry-exporter-opencensus + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-opencensus ; exporter-opencensus intentionally excluded from pypy3 lint-opentelemetry-exporter-opencensus - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-proto-common + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-common pypy3-test-opentelemetry-exporter-otlp-proto-common lint-opentelemetry-exporter-otlp-proto-common ; opentelemetry-exporter-otlp - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-combined + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-combined ; intentionally excluded from pypy3 lint-opentelemetry-exporter-otlp-combined - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-proto-grpc + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-grpc ; intentionally excluded from pypy3 lint-opentelemetry-exporter-otlp-proto-grpc benchmark-opentelemetry-exporter-otlp-proto-grpc - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-proto-http + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-http pypy3-test-opentelemetry-exporter-otlp-proto-http lint-opentelemetry-exporter-otlp-proto-http - py3{8,9,10,11,12}-test-opentelemetry-exporter-prometheus + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-prometheus pypy3-test-opentelemetry-exporter-prometheus lint-opentelemetry-exporter-prometheus ; opentelemetry-exporter-zipkin - py3{8,9,10,11,12}-test-opentelemetry-exporter-zipkin-combined + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-zipkin-combined pypy3-test-opentelemetry-exporter-zipkin-combined lint-opentelemetry-exporter-zipkin-combined - py3{8,9,10,11,12}-test-opentelemetry-exporter-zipkin-proto-http + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-zipkin-proto-http pypy3-test-opentelemetry-exporter-zipkin-proto-http lint-opentelemetry-exporter-zipkin-proto-http - py3{8,9,10,11,12}-test-opentelemetry-exporter-zipkin-json + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-zipkin-json pypy3-test-opentelemetry-exporter-zipkin-json lint-opentelemetry-exporter-zipkin-json - py3{8,9,10,11,12}-test-opentelemetry-propagator-b3 + py3{8,9,10,11,12,13}-test-opentelemetry-propagator-b3 pypy3-test-opentelemetry-propagator-b3 lint-opentelemetry-propagator-b3 benchmark-opentelemetry-propagator-b3 - py3{8,9,10,11,12}-test-opentelemetry-propagator-jaeger + py3{8,9,10,11,12,13}-test-opentelemetry-propagator-jaeger pypy3-test-opentelemetry-propagator-jaeger lint-opentelemetry-propagator-jaeger - py3{8,9,10,11,12}-test-opentelemetry-test-utils + py3{8,9,10,11,12,13}-test-opentelemetry-test-utils pypy3-test-opentelemetry-test-utils lint-opentelemetry-test-utils From 9e94fd2650a1567f1f3a3d72247d0bf1525c4a17 Mon Sep 17 00:00:00 2001 From: David Ashpole Date: Thu, 19 Dec 2024 16:35:08 -0500 Subject: [PATCH 5/6] update links to openmetrics to reference the v1.0.0 release (#4356) --- .../src/opentelemetry/proto/metrics/v1/metrics_pb2.pyi | 6 +++--- .../opentelemetry/semconv/_incubating/metrics/hw_metrics.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opentelemetry-proto/src/opentelemetry/proto/metrics/v1/metrics_pb2.pyi b/opentelemetry-proto/src/opentelemetry/proto/metrics/v1/metrics_pb2.pyi index 7bb4d95b10..b3e3e4d04d 100644 --- a/opentelemetry-proto/src/opentelemetry/proto/metrics/v1/metrics_pb2.pyi +++ b/opentelemetry-proto/src/opentelemetry/proto/metrics/v1/metrics_pb2.pyi @@ -959,7 +959,7 @@ class HistogramDataPoint(google.protobuf.message.Message): events, and is assumed to be monotonic over the values of these events. Negative events *can* be recorded, but sum should not be filled out when doing so. This is specifically to enforce compatibility w/ OpenMetrics, - see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#histogram + see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#histogram """ @property def bucket_counts( @@ -1205,7 +1205,7 @@ class ExponentialHistogramDataPoint(google.protobuf.message.Message): events, and is assumed to be monotonic over the values of these events. Negative events *can* be recorded, but sum should not be filled out when doing so. This is specifically to enforce compatibility w/ OpenMetrics, - see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#histogram + see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#histogram """ scale: builtins.int """scale describes the resolution of the histogram. Boundaries are @@ -1451,7 +1451,7 @@ class SummaryDataPoint(google.protobuf.message.Message): events, and is assumed to be monotonic over the values of these events. Negative events *can* be recorded, but sum should not be filled out when doing so. This is specifically to enforce compatibility w/ OpenMetrics, - see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#summary + see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#summary """ @property def quantile_values( diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/metrics/hw_metrics.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/metrics/hw_metrics.py index ca615236e7..78199c68ad 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/metrics/hw_metrics.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/metrics/hw_metrics.py @@ -98,7 +98,7 @@ def create_hw_power( Operational status: `1` (true) or `0` (false) for each of the possible states Instrument: updowncounter Unit: 1 -Note: `hw.status` is currently specified as an *UpDownCounter* but would ideally be represented using a [*StateSet* as defined in OpenMetrics](https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#stateset). This semantic convention will be updated once *StateSet* is specified in OpenTelemetry. This planned change is not expected to have any consequence on the way users query their timeseries backend to retrieve the values of `hw.status` over time. +Note: `hw.status` is currently specified as an *UpDownCounter* but would ideally be represented using a [*StateSet* as defined in OpenMetrics](https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#stateset). This semantic convention will be updated once *StateSet* is specified in OpenTelemetry. This planned change is not expected to have any consequence on the way users query their timeseries backend to retrieve the values of `hw.status` over time. """ From 33acdf3ba7c0fe43958754c103edc1b132364fd1 Mon Sep 17 00:00:00 2001 From: Maxi Fernandez <45922974+Maxi91f@users.noreply.github.com> Date: Fri, 20 Dec 2024 17:33:35 -0300 Subject: [PATCH 6/6] fix: add attributes to get_meter wrapper (#4364) --- CHANGELOG.md | 2 ++ .../metrics/_internal/__init__.py | 3 ++- .../tests/metrics/test_meter_provider.py | 25 ++++++++++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a38aa90e2..ad1d754bd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +- Add `attributes` field in `metrics.get_meter` wrapper function + ([#4364](https://github.com/open-telemetry/opentelemetry-python/pull/4364)) - Add Python 3.13 support ([#4353](https://github.com/open-telemetry/opentelemetry-python/pull/4353)) diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py index 8ee3c1e6b9..84b4a6a874 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py @@ -764,6 +764,7 @@ def get_meter( version: str = "", meter_provider: Optional[MeterProvider] = None, schema_url: Optional[str] = None, + attributes: Optional[Attributes] = None, ) -> "Meter": """Returns a `Meter` for use by the given instrumentation library. @@ -774,7 +775,7 @@ def get_meter( """ if meter_provider is None: meter_provider = get_meter_provider() - return meter_provider.get_meter(name, version, schema_url) + return meter_provider.get_meter(name, version, schema_url, attributes) def _set_meter_provider(meter_provider: MeterProvider, log: bool) -> None: diff --git a/opentelemetry-api/tests/metrics/test_meter_provider.py b/opentelemetry-api/tests/metrics/test_meter_provider.py index a570d47624..6f1989e208 100644 --- a/opentelemetry-api/tests/metrics/test_meter_provider.py +++ b/opentelemetry-api/tests/metrics/test_meter_provider.py @@ -29,7 +29,11 @@ get_meter_provider, set_meter_provider, ) -from opentelemetry.metrics._internal import _ProxyMeter, _ProxyMeterProvider +from opentelemetry.metrics._internal import ( + _ProxyMeter, + _ProxyMeterProvider, + get_meter, +) from opentelemetry.metrics._internal.instrument import ( _ProxyCounter, _ProxyGauge, @@ -141,6 +145,25 @@ def test_invalid_name(self): self.assertEqual(meter.name, None) + def test_get_meter_wrapper(self): + """ + `metrics._internal.get_meter` called with valid parameters and a NoOpMeterProvider + should return a NoOpMeter with the same parameters. + """ + + meter = get_meter( + "name", + version="version", + meter_provider=NoOpMeterProvider(), + schema_url="schema_url", + attributes={"key": "value", "key2": 5, "key3": "value3"}, + ) + + self.assertIsInstance(meter, NoOpMeter) + self.assertEqual(meter.name, "name") + self.assertEqual(meter.version, "version") + self.assertEqual(meter.schema_url, "schema_url") + class TestProxy(MetricsGlobalsTest, TestCase): def test_global_proxy_meter_provider(self):