From 7d8b98ebf343e15909e64e05849bb5e7af478024 Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Thu, 14 Oct 2021 14:47:37 -0700 Subject: [PATCH 1/5] adding CI testing for python 3.10 --- .github/workflows/test.yml | 3 +- .../error_handler/error_handler_0/setup.cfg | 1 + .../error_handler/error_handler_1/setup.cfg | 1 + .../setup.cfg | 1 + .../setup.cfg | 1 + .../opentelemetry-exporter-jaeger/setup.cfg | 1 + .../setup.cfg | 1 + .../setup.cfg | 1 + .../setup.cfg | 1 + .../opentelemetry-exporter-otlp/setup.cfg | 1 + .../setup.cfg | 1 + .../setup.cfg | 1 + .../opentelemetry-exporter-zipkin/setup.cfg | 1 + opentelemetry-api/setup.cfg | 1 + opentelemetry-distro/setup.cfg | 62 +++++++++++++++++++ opentelemetry-proto/setup.cfg | 1 + opentelemetry-sdk/setup.cfg | 1 + opentelemetry-semantic-conventions/setup.cfg | 1 + .../opentelemetry-propagator-b3/setup.cfg | 1 + .../opentelemetry-propagator-jaeger/setup.cfg | 1 + shim/opentelemetry-opentracing-shim/setup.cfg | 1 + tests/util/setup.cfg | 1 + 22 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 opentelemetry-distro/setup.cfg diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 192a11d9ca2..992918834dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,13 +27,14 @@ jobs: py37: 3.7 py38: 3.8 py39: 3.9 + py310: 3.10 pypy3: pypy-3.7 RUN_MATRIX_COMBINATION: ${{ matrix.python-version }}-${{ matrix.package }}-${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false # ensures the entire test matrix is run, even if one permutation fails matrix: - python-version: [ py36, py37, py38, py39, pypy3 ] + python-version: [ py36, py37, py38, py39, py310, pypy3 ] package: ["api", "sdk", "semantic", "getting", "shim", "exporter", "protobuf", "propagator"] os: [ ubuntu-20.04, windows-2019 ] steps: diff --git a/docs/examples/error_handler/error_handler_0/setup.cfg b/docs/examples/error_handler/error_handler_0/setup.cfg index 919ece78d6c..9eced88d7c3 100644 --- a/docs/examples/error_handler/error_handler_0/setup.cfg +++ b/docs/examples/error_handler/error_handler_0/setup.cfg @@ -29,6 +29,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 diff --git a/docs/examples/error_handler/error_handler_1/setup.cfg b/docs/examples/error_handler/error_handler_1/setup.cfg index 2012fd81b14..8d09f423db1 100644 --- a/docs/examples/error_handler/error_handler_1/setup.cfg +++ b/docs/examples/error_handler/error_handler_1/setup.cfg @@ -29,6 +29,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 diff --git a/exporter/opentelemetry-exporter-jaeger-proto-grpc/setup.cfg b/exporter/opentelemetry-exporter-jaeger-proto-grpc/setup.cfg index 4f4228f9c76..dc4ff16c245 100644 --- a/exporter/opentelemetry-exporter-jaeger-proto-grpc/setup.cfg +++ b/exporter/opentelemetry-exporter-jaeger-proto-grpc/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-jaeger-thrift/setup.cfg b/exporter/opentelemetry-exporter-jaeger-thrift/setup.cfg index e2c98a48096..7885c053a9c 100644 --- a/exporter/opentelemetry-exporter-jaeger-thrift/setup.cfg +++ b/exporter/opentelemetry-exporter-jaeger-thrift/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-jaeger/setup.cfg b/exporter/opentelemetry-exporter-jaeger/setup.cfg index 91f4c8ba9b1..2bb0f599fb8 100644 --- a/exporter/opentelemetry-exporter-jaeger/setup.cfg +++ b/exporter/opentelemetry-exporter-jaeger/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-opencensus/setup.cfg b/exporter/opentelemetry-exporter-opencensus/setup.cfg index 1e10bc7b968..b9dcdbc8202 100644 --- a/exporter/opentelemetry-exporter-opencensus/setup.cfg +++ b/exporter/opentelemetry-exporter-opencensus/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/setup.cfg b/exporter/opentelemetry-exporter-otlp-proto-grpc/setup.cfg index 9d0fd68d048..0a65d8b6ff2 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/setup.cfg +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/setup.cfg b/exporter/opentelemetry-exporter-otlp-proto-http/setup.cfg index ad9311713a3..45ef1e47faf 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/setup.cfg +++ b/exporter/opentelemetry-exporter-otlp-proto-http/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 diff --git a/exporter/opentelemetry-exporter-otlp/setup.cfg b/exporter/opentelemetry-exporter-otlp/setup.cfg index 53ebc029753..00c7be2440f 100644 --- a/exporter/opentelemetry-exporter-otlp/setup.cfg +++ b/exporter/opentelemetry-exporter-otlp/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-zipkin-json/setup.cfg b/exporter/opentelemetry-exporter-zipkin-json/setup.cfg index 2517b523261..99d5e3327ad 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/setup.cfg +++ b/exporter/opentelemetry-exporter-zipkin-json/setup.cfg @@ -33,6 +33,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/setup.cfg b/exporter/opentelemetry-exporter-zipkin-proto-http/setup.cfg index 90d69c94782..57c1d8cff10 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/setup.cfg +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/setup.cfg @@ -33,6 +33,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/exporter/opentelemetry-exporter-zipkin/setup.cfg b/exporter/opentelemetry-exporter-zipkin/setup.cfg index f4f5c5e0830..bdddc76793e 100644 --- a/exporter/opentelemetry-exporter-zipkin/setup.cfg +++ b/exporter/opentelemetry-exporter-zipkin/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/opentelemetry-api/setup.cfg b/opentelemetry-api/setup.cfg index 91a38ac9278..21ae69460b2 100644 --- a/opentelemetry-api/setup.cfg +++ b/opentelemetry-api/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/opentelemetry-distro/setup.cfg b/opentelemetry-distro/setup.cfg new file mode 100644 index 00000000000..22dbe1c5255 --- /dev/null +++ b/opentelemetry-distro/setup.cfg @@ -0,0 +1,62 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +[metadata] +name = opentelemetry-distro +description = OpenTelemetry Python Distro +long_description = file: README.rst +long_description_content_type = text/x-rst +author = OpenTelemetry Authors +author_email = cncf-opentelemetry-contributors@lists.cncf.io +url = https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-distro +platforms = any +license = Apache-2.0 +classifiers = + Development Status :: 4 - Beta + Intended Audience :: Developers + License :: OSI Approved :: Apache Software License + Programming Language :: Python + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Typing :: Typed + +[options] +python_requires = >=3.6 +package_dir= + =src +packages=find_namespace: +zip_safe = False +include_package_data = True +install_requires = + opentelemetry-api ~= 1.3 + opentelemetry-instrumentation == 0.24b0 + opentelemetry-sdk == 1.5.0 + +[options.packages.find] +where = src + +[options.entry_points] +opentelemetry_distro = + distro = opentelemetry.distro:OpenTelemetryDistro +opentelemetry_configurator = + configurator = opentelemetry.distro:OpenTelemetryConfigurator + +[options.extras_require] +test = +otlp = + opentelemetry-exporter-otlp == 1.5.0 diff --git a/opentelemetry-proto/setup.cfg b/opentelemetry-proto/setup.cfg index 0eaef7cfc5e..6f19ae8fd3a 100644 --- a/opentelemetry-proto/setup.cfg +++ b/opentelemetry-proto/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 diff --git a/opentelemetry-sdk/setup.cfg b/opentelemetry-sdk/setup.cfg index bf063a237f7..58292397516 100644 --- a/opentelemetry-sdk/setup.cfg +++ b/opentelemetry-sdk/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/opentelemetry-semantic-conventions/setup.cfg b/opentelemetry-semantic-conventions/setup.cfg index 81565ec00bc..377bb6ffdf7 100644 --- a/opentelemetry-semantic-conventions/setup.cfg +++ b/opentelemetry-semantic-conventions/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 diff --git a/propagator/opentelemetry-propagator-b3/setup.cfg b/propagator/opentelemetry-propagator-b3/setup.cfg index 1c879987fd6..ee9dbc4d155 100644 --- a/propagator/opentelemetry-propagator-b3/setup.cfg +++ b/propagator/opentelemetry-propagator-b3/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/propagator/opentelemetry-propagator-jaeger/setup.cfg b/propagator/opentelemetry-propagator-jaeger/setup.cfg index 639a07d3d92..0f6c8fe2493 100644 --- a/propagator/opentelemetry-propagator-jaeger/setup.cfg +++ b/propagator/opentelemetry-propagator-jaeger/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/shim/opentelemetry-opentracing-shim/setup.cfg b/shim/opentelemetry-opentracing-shim/setup.cfg index 3e7277782d7..8e9a42afb03 100644 --- a/shim/opentelemetry-opentracing-shim/setup.cfg +++ b/shim/opentelemetry-opentracing-shim/setup.cfg @@ -32,6 +32,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Typing :: Typed [options] diff --git a/tests/util/setup.cfg b/tests/util/setup.cfg index 5bc0f699485..5274a2d876e 100644 --- a/tests/util/setup.cfg +++ b/tests/util/setup.cfg @@ -30,6 +30,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [options] python_requires = >=3.6 From 7fc0a298472cbd44740fa8156fa9f626171e1c14 Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Thu, 14 Oct 2021 14:50:31 -0700 Subject: [PATCH 2/5] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7878136a0db..408b2658343 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.6.0-0.25b0...HEAD) +- Add support for Python 3.10 + ([#2207](https://github.com/open-telemetry/opentelemetry-python/pull/2207)) + ## [1.6.0-0.25b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.6.0-0.25b0) - 2021-10-13 From 81235c0091473f8526c7dca63266f7846bcfbfb8 Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Thu, 14 Oct 2021 15:07:03 -0700 Subject: [PATCH 3/5] yaml disregards the trailing 0 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 992918834dc..2d7e98f1dcb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: py37: 3.7 py38: 3.8 py39: 3.9 - py310: 3.10 + py310: "3.10" pypy3: pypy-3.7 RUN_MATRIX_COMBINATION: ${{ matrix.python-version }}-${{ matrix.package }}-${{ matrix.os }} runs-on: ${{ matrix.os }} From 999dd113f8a23eb613011472e62c7294f30eccca Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Thu, 14 Oct 2021 15:39:54 -0700 Subject: [PATCH 4/5] update tox --- tox.ini | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/tox.ini b/tox.ini index 5398bdd80e0..75772516d72 100644 --- a/tox.ini +++ b/tox.ini @@ -4,58 +4,58 @@ skip_missing_interpreters = True envlist = ; Environments are organized by individual package, allowing ; for specifying supported Python versions per package. - py3{6,7,8,9}-opentelemetry-api + py3{6,7,8,9,10}-opentelemetry-api pypy3-opentelemetry-api - py3{6,7,8,9}-opentelemetry-protobuf + py3{6,7,8,9,10}-opentelemetry-protobuf pypy3-opentelemetry-protobuf - py3{6,7,8,9}-opentelemetry-sdk + py3{6,7,8,9,10}-opentelemetry-sdk pypy3-opentelemetry-sdk - py3{6,7,8,9}-opentelemetry-semantic-conventions + py3{6,7,8,9,10}-opentelemetry-semantic-conventions pypy3-opentelemetry-semantic-conventions ; docs/getting-started - py3{6,7,8,9}-opentelemetry-getting-started + py3{6,7,8,9,10}-opentelemetry-getting-started pypy3-opentelemetry-getting-started - py3{6,7,8,9}-opentelemetry-opentracing-shim + py3{6,7,8,9,10}-opentelemetry-opentracing-shim pypy3-opentelemetry-opentracing-shim - py3{6,7,8,9}-opentelemetry-exporter-jaeger-combined + py3{6,7,8,9,10}-opentelemetry-exporter-jaeger-combined - py3{6,7,8,9}-opentelemetry-exporter-jaeger-proto-grpc + py3{6,7,8,9,10}-opentelemetry-exporter-jaeger-proto-grpc - py3{6,7,8,9}-opentelemetry-exporter-jaeger-thrift + py3{6,7,8,9,10}-opentelemetry-exporter-jaeger-thrift - py3{6,7,8,9}-opentelemetry-exporter-opencensus + py3{6,7,8,9,10}-opentelemetry-exporter-opencensus ; exporter-opencensus intentionally excluded from pypy3 ; opentelemetry-exporter-otlp - py3{6,7,8,9}-opentelemetry-exporter-otlp-combined + py3{6,7,8,9,10}-opentelemetry-exporter-otlp-combined ; intentionally excluded from pypy3 - py3{6,7,8,9}-opentelemetry-exporter-otlp-proto-grpc + py3{6,7,8,9,10}-opentelemetry-exporter-otlp-proto-grpc ; intentionally excluded from pypy3 - py3{6,7,8,9}-opentelemetry-exporter-otlp-proto-http + py3{6,7,8,9,10}-opentelemetry-exporter-otlp-proto-http pypy3-opentelemetry-exporter-otlp-proto-http ; opentelemetry-exporter-zipkin - py3{6,7,8,9}-opentelemetry-exporter-zipkin-combined + py3{6,7,8,9,10}-opentelemetry-exporter-zipkin-combined pypy3-opentelemetry-exporter-zipkin-combined - py3{6,7,8,9}-opentelemetry-exporter-zipkin-proto-http + py3{6,7,8,9,10}-opentelemetry-exporter-zipkin-proto-http pypy3-opentelemetry-exporter-zipkin-proto-http - py3{6,7,8,9}-opentelemetry-exporter-zipkin-json + py3{6,7,8,9,10}-opentelemetry-exporter-zipkin-json pypy3-opentelemetry-exporter-zipkin-json - py3{6,7,8,9}-opentelemetry-propagator-b3 + py3{6,7,8,9,10}-opentelemetry-propagator-b3 pypy3-opentelemetry-propagator-b3 - py3{6,7,8,9}-opentelemetry-propagator-jaeger + py3{6,7,8,9,10}-opentelemetry-propagator-jaeger pypy3-opentelemetry-propagator-jaeger lint @@ -105,7 +105,7 @@ changedir = commands_pre = ; Install without -e to test the actual installation - py3{6,7,8,9}: python -m pip install -U pip setuptools wheel + py3{6,7,8,9,10}: python -m pip install -U pip setuptools wheel ; Install common packages for all the tests. These are not needed in all the ; cases but it saves a lot of boilerplate in this file. opentelemetry: pip install {toxinidir}/opentelemetry-api {toxinidir}/opentelemetry-semantic-conventions {toxinidir}/opentelemetry-sdk {toxinidir}/tests/util From 2d1fb9b753ea5345e771270f1f180d3b2159a24b Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Fri, 22 Oct 2021 16:03:02 -0700 Subject: [PATCH 5/5] fix double import of model_pb2 causing issues --- .../exporter/jaeger/proto/grpc/gen/collector_pb2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/gen/collector_pb2.py b/exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/gen/collector_pb2.py index 87dffbbc6d8..cdb8562a945 100644 --- a/exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/gen/collector_pb2.py +++ b/exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/gen/collector_pb2.py @@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default() -import model_pb2 as model__pb2 +from opentelemetry.exporter.jaeger.proto.grpc.gen import model_pb2 as model__pb2 from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from protoc_gen_swagger.options import annotations_pb2 as protoc__gen__swagger_dot_options_dot_annotations__pb2