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] 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 be9b44d8e2a..f3f586e68cf 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 54130195282..05c5d2305d8 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 dfbced1b397..d24d7325349 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 892039b33ec..49d34716c58 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 f8b1a254db0..6a38aa90e2c 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 658f0d20265..ed9951b6a2c 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 f2b9d6b0d30..a8588c06690 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 31fb80f4c39..c747b4243d0 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 231bf6d72c1..25a84e5830b 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 aad1363f39d..9240593a0d0 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 789ca4984b0..ba510b4b1a7 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 0adf5d6624d..8eef7343705 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 b27b714690b..454fecf3cdd 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 07a86cab0c3..d4e582a792d 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 52817b00cac..43501748213 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 ca918883d5f..001a99b89d6 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 73aa457b95f..70d1dc24516 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 06ffd7fa9aa..b0351f04833 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 0e4c4f2ac8f..ae1344329f0 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 f59cdfc196a..0afdbf9110d 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 2bce3d99e37..2489211d889 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 272e47df3bb..3a934862690 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 6641c712c5e..50851b141b5 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 49e1df0cbe6..0930c590c71 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 bbe176d0140..3a35b624b5f 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 22810bf4d6c..90e24cfa223 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 f0e5a546ea4..c39003b0a27 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 07bc20d47c8..42aebc5424a 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 f9a4c8e0919..84c9420494e 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