From 5d859610f32ee2eb94acb4ec03e8cb3b2b47bb2a Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Sat, 3 Feb 2024 11:55:26 -0600 Subject: [PATCH] Drop support for 3.7 (#3668) * Drop support for 3.7 Fixes #3667 * Remove 37 --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 11 +++--- CHANGELOG.md | 2 + CONTRIBUTING.md | 2 +- README.md | 2 +- .../error_handler_0/pyproject.toml | 3 +- .../error_handler_1/pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 6 +-- .../pyproject.toml | 5 +-- .../pyproject.toml | 6 +-- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- opentelemetry-api/pyproject.toml | 3 +- opentelemetry-proto/pyproject.toml | 3 +- opentelemetry-sdk/pyproject.toml | 3 +- .../sdk/_logs/_internal/export/__init__.py | 1 - .../sdk/metrics/_internal/view.py | 4 -- .../sdk/trace/export/__init__.py | 1 - .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../pyproject.toml | 3 +- .../tests/testbed/README.rst | 2 +- tests/opentelemetry-test-utils/pyproject.toml | 3 +- tox.ini | 38 +++++++++---------- 30 files changed, 53 insertions(+), 80 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4420b599b1f..3622b41d9da 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -66,7 +66,7 @@ jobs: # next few steps publish to pypi - uses: actions/setup-python@v1 with: - python-version: '3.7' + python-version: '3.8' - name: Build wheels run: ./scripts/build.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a6519731b6..ca1d0fa58fd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,19 +23,18 @@ jobs: build: env: # We use these variables to convert between tox and GHA version literals - py37: 3.7 py38: 3.8 py39: 3.9 py310: "3.10" py311: "3.11" - pypy3: pypy-3.7 + pypy3: pypy-3.8 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: [py37, py38, py39, py310, py311, pypy3] + python-version: [py38, py39, py310, py311, pypy3] package: - "api" - "sdk" @@ -115,17 +114,17 @@ jobs: run: tox -e ${{ matrix.tox-environment }} # Contrib unit test suite in order to ensure changes in core do not break anything in contrib. - # We only run contrib unit tests on the oldest supported Python version (3.7) as running the same tests + # We only run contrib unit tests on the oldest supported Python version (3.8) as running the same tests # on all versions is somewhat redundant. contrib-build: env: # We use these variables to convert between tox and GHA version literals - py37: 3.7 + py38: 3.8 runs-on: ${{ matrix.os }} strategy: fail-fast: false # ensures the entire test matrix is run, even if one permutation fails matrix: - python-version: [py37] + python-version: [py38] package: - "aiohttp-client" - "aiohttp-server" diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ecca6af2e6..13cadd831b9 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 +- Drop support for 3.7 + ([#3668](https://github.com/open-telemetry/opentelemetry-python/pull/3668)) - Include key in attribute sequence warning ([#3639](https://github.com/open-telemetry/opentelemetry-python/pull/3639)) - Upgrade markupsafe, Flask and related dependencies to dev and test diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 61fe7605292..344b5585853 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,7 +52,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 py37-opentelemetry-api` to e.g. run the API unit tests under a specific +- `tox -e py311-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` to run lint checks on all code diff --git a/README.md b/README.md index d925fffe258..c36a64062c9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # OpenTelemetry Python [![Slack](https://img.shields.io/badge/slack-@cncf/otel/python-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C01PD4HUVBL) [![Build Status](https://github.com/open-telemetry/opentelemetry-python/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-python/actions) -[![Minimum Python Version](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/) +[![Minimum Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![Release](https://img.shields.io/github/v/release/open-telemetry/opentelemetry-python?include_prereleases&style=)](https://github.com/open-telemetry/opentelemetry-python/releases/) [![Read the Docs](https://readthedocs.org/projects/opentelemetry-python/badge/?version=latest)](https://opentelemetry-python.readthedocs.io/en/latest/) diff --git a/docs/examples/error_handler/error_handler_0/pyproject.toml b/docs/examples/error_handler/error_handler_0/pyproject.toml index b148d0b13af..689a4dd0191 100644 --- a/docs/examples/error_handler/error_handler_0/pyproject.toml +++ b/docs/examples/error_handler/error_handler_0/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "This is just an error handler example package" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/docs/examples/error_handler/error_handler_1/pyproject.toml b/docs/examples/error_handler/error_handler_1/pyproject.toml index 506b8e24ae8..af9ad21d181 100644 --- a/docs/examples/error_handler/error_handler_1/pyproject.toml +++ b/docs/examples/error_handler/error_handler_1/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "This is just an error handler example package" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/exporter/opentelemetry-exporter-opencensus/pyproject.toml b/exporter/opentelemetry-exporter-opencensus/pyproject.toml index e4ecc1119c3..c647462e64c 100644 --- a/exporter/opentelemetry-exporter-opencensus/pyproject.toml +++ b/exporter/opentelemetry-exporter-opencensus/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenCensus Exporter" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml index 307bed9c61f..e5b3084dbb8 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Protobuf encoding" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -26,8 +25,7 @@ classifiers = [ ] dependencies = [ "opentelemetry-proto == 1.23.0.dev", - "backoff >= 1.10.0, < 2.0.0; python_version<'3.7'", - "backoff >= 1.10.0, < 3.0.0; python_version>='3.7'", + "backoff >= 1.10.0, < 3.0.0; python_version>='3.8'", ] [project.optional-dependencies] diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index 62aaae1fb1a..da67478b6ea 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Collector Protobuf over gRPC Exporter" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -26,7 +25,7 @@ classifiers = [ ] dependencies = [ "Deprecated >= 1.2.6", - "backoff >= 1.8.0, < 3.0.0; python_version>='3.7'", + "backoff >= 1.8.0, < 3.0.0", "googleapis-common-protos ~= 1.52", "grpcio >= 1.0.0, < 2.0.0", "opentelemetry-api ~= 1.15", diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml index dfab84f6f92..35c4ca24a3c 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Collector Protobuf over HTTP Exporter" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -26,8 +25,7 @@ classifiers = [ ] dependencies = [ "Deprecated >= 1.2.6", - "backoff >= 1.10.0, < 2.0.0; python_version<'3.7'", - "backoff >= 1.10.0, < 3.0.0; python_version>='3.7'", + "backoff >= 1.10.0, < 3.0.0", "googleapis-common-protos ~= 1.52", "opentelemetry-api ~= 1.15", "opentelemetry-proto == 1.23.0.dev", diff --git a/exporter/opentelemetry-exporter-otlp/pyproject.toml b/exporter/opentelemetry-exporter-otlp/pyproject.toml index 0d909c0e123..2ccc3be3e11 100644 --- a/exporter/opentelemetry-exporter-otlp/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Collector Exporters" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/exporter/opentelemetry-exporter-prometheus/pyproject.toml b/exporter/opentelemetry-exporter-prometheus/pyproject.toml index b634c3df887..154a949af05 100644 --- a/exporter/opentelemetry-exporter-prometheus/pyproject.toml +++ b/exporter/opentelemetry-exporter-prometheus/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "Prometheus Metric Exporter for OpenTelemetry" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml index 70292809f9c..6072def4bb7 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "Zipkin Span JSON Exporter for OpenTelemetry" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml index 02a480c3a3d..36380098588 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "Zipkin Span Protobuf Exporter for OpenTelemetry" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/exporter/opentelemetry-exporter-zipkin/pyproject.toml b/exporter/opentelemetry-exporter-zipkin/pyproject.toml index e2340769d5f..3987467ae35 100644 --- a/exporter/opentelemetry-exporter-zipkin/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "Zipkin Span Exporters for OpenTelemetry" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/opentelemetry-api/pyproject.toml b/opentelemetry-api/pyproject.toml index adf9512cf04..3d66d39ece6 100644 --- a/opentelemetry-api/pyproject.toml +++ b/opentelemetry-api/pyproject.toml @@ -7,7 +7,7 @@ name = "opentelemetry-api" description = "OpenTelemetry Python API" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -17,7 +17,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/opentelemetry-proto/pyproject.toml b/opentelemetry-proto/pyproject.toml index b44b61b50e2..6118e4e86c1 100644 --- a/opentelemetry-proto/pyproject.toml +++ b/opentelemetry-proto/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Python Proto" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/opentelemetry-sdk/pyproject.toml b/opentelemetry-sdk/pyproject.toml index 925eadb2a05..ff034af2f38 100644 --- a/opentelemetry-sdk/pyproject.toml +++ b/opentelemetry-sdk/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Python SDK" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py index 14140d26b73..597c55a6725 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py @@ -216,7 +216,6 @@ def __init__( self._flush_request = None self._log_records = [None] * self._max_export_batch_size self._worker_thread.start() - # Only available in *nix since py37. if hasattr(os, "register_at_fork"): os.register_at_fork( after_in_child=self._at_fork_reinit diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py index 28f7b4fe087..5b548a5e05c 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py @@ -17,9 +17,6 @@ from logging import getLogger from typing import Optional, Set, Type -# FIXME import from typing when support for 3.7 is removed -from typing_extensions import final - from opentelemetry.metrics import Instrument from opentelemetry.sdk.metrics._internal.aggregation import ( Aggregation, @@ -138,7 +135,6 @@ def __init__( # pylint: disable=too-many-return-statements # pylint: disable=too-many-branches - @final def _match(self, instrument: Instrument) -> bool: if self._instrument_type is not None: diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py index 7f56a301721..a4a9958343e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py @@ -203,7 +203,6 @@ def __init__( None ] * self.max_export_batch_size # type: typing.List[typing.Optional[Span]] self.worker_thread.start() - # Only available in *nix since py37. if hasattr(os, "register_at_fork"): os.register_at_fork( after_in_child=self._at_fork_reinit diff --git a/opentelemetry-semantic-conventions/pyproject.toml b/opentelemetry-semantic-conventions/pyproject.toml index 8ad02bb35cf..d1fe5a3286a 100644 --- a/opentelemetry-semantic-conventions/pyproject.toml +++ b/opentelemetry-semantic-conventions/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Semantic Conventions" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/propagator/opentelemetry-propagator-b3/pyproject.toml b/propagator/opentelemetry-propagator-b3/pyproject.toml index 4a2bc08001d..9e17f4c8d3e 100644 --- a/propagator/opentelemetry-propagator-b3/pyproject.toml +++ b/propagator/opentelemetry-propagator-b3/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry B3 Propagator" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/propagator/opentelemetry-propagator-jaeger/pyproject.toml b/propagator/opentelemetry-propagator-jaeger/pyproject.toml index 519fc6e48da..105f7088614 100644 --- a/propagator/opentelemetry-propagator-jaeger/pyproject.toml +++ b/propagator/opentelemetry-propagator-jaeger/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTelemetry Jaeger Propagator" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/shim/opentelemetry-opencensus-shim/pyproject.toml b/shim/opentelemetry-opencensus-shim/pyproject.toml index ef4dfd76c89..6299d8faac4 100644 --- a/shim/opentelemetry-opencensus-shim/pyproject.toml +++ b/shim/opentelemetry-opencensus-shim/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenCensus Shim for OpenTelemetry" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/shim/opentelemetry-opentracing-shim/pyproject.toml b/shim/opentelemetry-opentracing-shim/pyproject.toml index ca7aa8dd4ab..aec60c381e3 100644 --- a/shim/opentelemetry-opentracing-shim/pyproject.toml +++ b/shim/opentelemetry-opentracing-shim/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "OpenTracing Shim for OpenTelemetry" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/README.rst b/shim/opentelemetry-opentracing-shim/tests/testbed/README.rst index ba7119cd68c..d60f372aaea 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/README.rst +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/README.rst @@ -9,7 +9,7 @@ Build and test. .. code-block:: sh - tox -e py37-test-opentracing-shim + tox -e py311-test-opentracing-shim Alternatively, due to the organization of the suite, it's possible to run directly the tests using ``py.test``\ : diff --git a/tests/opentelemetry-test-utils/pyproject.toml b/tests/opentelemetry-test-utils/pyproject.toml index 1eb24bae368..70d6a9ed3cb 100644 --- a/tests/opentelemetry-test-utils/pyproject.toml +++ b/tests/opentelemetry-test-utils/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "Test utilities for OpenTelemetry unit tests" readme = "README.rst" license = "Apache-2.0" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, ] @@ -18,7 +18,6 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", diff --git a/tox.ini b/tox.ini index 090a2f98ab9..035f8269e37 100644 --- a/tox.ini +++ b/tox.ini @@ -5,63 +5,63 @@ skip_missing_interpreters = True envlist = ; Environments are organized by individual package, allowing ; for specifying supported Python versions per package. - py3{7,8,9,10,11}-opentelemetry-api + py3{8,9,10,11}-opentelemetry-api pypy3-opentelemetry-api ; Test against both protobuf 3.x and 4.x - py3{7,8,9,10,11}-proto{3,4}-opentelemetry-protobuf + py3{8,9,10,11}-proto{3,4}-opentelemetry-protobuf pypy3-proto{3,4}-opentelemetry-protobuf - py3{7,8,9,10,11}-opentelemetry-sdk + py3{8,9,10,11}-opentelemetry-sdk pypy3-opentelemetry-sdk - py3{7,8,9,10,11}-opentelemetry-semantic-conventions + py3{8,9,10,11}-opentelemetry-semantic-conventions pypy3-opentelemetry-semantic-conventions ; docs/getting-started py3{8,9,10,11}-opentelemetry-getting-started - py3{7,8,9,10,11}-opentelemetry-opentracing-shim + py3{8,9,10,11}-opentelemetry-opentracing-shim pypy3-opentelemetry-opentracing-shim - py3{7,8,9,10,11}-opentelemetry-opencensus-shim + py3{8,9,10,11}-opentelemetry-opencensus-shim ; opencensus-shim intentionally excluded from pypy3 (grpcio install fails) - py3{7,8,9,10,11}-opentelemetry-exporter-opencensus + py3{8,9,10,11}-opentelemetry-exporter-opencensus ; exporter-opencensus intentionally excluded from pypy3 - py3{7,8,9,10,11}-proto{3,4}-opentelemetry-exporter-otlp-proto-common + py3{8,9,10,11}-proto{3,4}-opentelemetry-exporter-otlp-proto-common ; opentelemetry-exporter-otlp - py3{7,8,9,10,11}-opentelemetry-exporter-otlp-combined + py3{8,9,10,11}-opentelemetry-exporter-otlp-combined ; intentionally excluded from pypy3 - py3{7,8,9,10,11}-proto{3,4}-opentelemetry-exporter-otlp-proto-grpc + py3{8,9,10,11}-proto{3,4}-opentelemetry-exporter-otlp-proto-grpc ; intentionally excluded from pypy3 - py3{7,8,9,10,11}-proto{3,4}-opentelemetry-exporter-otlp-proto-http + py3{8,9,10,11}-proto{3,4}-opentelemetry-exporter-otlp-proto-http pypy3-opentelemetry-proto{3,4}-exporter-otlp-proto-http - py3{7,8,9,10,11}-opentelemetry-exporter-prometheus + py3{8,9,10,11}-opentelemetry-exporter-prometheus pypy3-opentelemetry-exporter-prometheus ; opentelemetry-exporter-zipkin - py3{7,8,9,10,11}-opentelemetry-exporter-zipkin-combined + py3{8,9,10,11}-opentelemetry-exporter-zipkin-combined pypy3-opentelemetry-exporter-zipkin-combined - py3{7,8,9,10,11}-opentelemetry-exporter-zipkin-proto-http + py3{8,9,10,11}-opentelemetry-exporter-zipkin-proto-http pypy3-opentelemetry-exporter-zipkin-proto-http - py3{7,8,9,10,11}-opentelemetry-exporter-zipkin-json + py3{8,9,10,11}-opentelemetry-exporter-zipkin-json pypy3-opentelemetry-exporter-zipkin-json - py3{7,8,9,10,11}-opentelemetry-propagator-b3 + py3{8,9,10,11}-opentelemetry-propagator-b3 pypy3-opentelemetry-propagator-b3 - py3{7,8,9,10,11}-opentelemetry-propagator-jaeger + py3{8,9,10,11}-opentelemetry-propagator-jaeger pypy3-opentelemetry-propagator-jaeger - py3{7,8,9,10,11}-opentelemetry-test-utils + py3{8,9,10,11}-opentelemetry-test-utils pypy3-opentelemetry-test-utils lint @@ -119,7 +119,7 @@ changedir = commands_pre = ; Install without -e to test the actual installation - py3{7,8,9,10,11}: python -m pip install -U pip setuptools wheel + py3{8,9,10,11}: 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/opentelemetry-test-utils