From c587544e8c3cf6603cc4e1c43bd9ba50441cc9bd Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Wed, 2 Apr 2025 17:36:58 +0500 Subject: [PATCH 1/7] chore: replace "deprecated" packages with PEP702 --- docs/examples/metrics/reader/requirements.txt | 3 +- docs/examples/metrics/views/requirements.txt | 3 +- docs/getting_started/tests/requirements.txt | 1 - .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - .../pyproject.toml | 2 +- .../exporter/otlp/proto/grpc/exporter.py | 5 +- .../test-requirements.txt | 1 - .../pyproject.toml | 2 +- .../proto/http/metric_exporter/__init__.py | 5 +- .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - opentelemetry-api/pyproject.toml | 2 +- .../opentelemetry/propagators/composite.py | 6 +- .../src/opentelemetry/trace/__init__.py | 8 +- .../src/opentelemetry/util/re.py | 6 +- opentelemetry-api/test-requirements.txt | 1 - opentelemetry-proto/test-requirements.txt | 1 - .../src/opentelemetry/sdk/trace/__init__.py | 7 +- .../src/opentelemetry/sdk/util/__init__.py | 4 +- .../opentelemetry/sdk/util/instrumentation.py | 6 +- opentelemetry-sdk/test-requirements.txt | 1 - .../pyproject.toml | 2 +- .../attributes/container_attributes.py | 6 +- .../_incubating/attributes/db_attributes.py | 26 ++-- .../attributes/error_attributes.py | 6 +- .../attributes/gen_ai_attributes.py | 6 +- .../_incubating/attributes/http_attributes.py | 10 +- .../attributes/message_attributes.py | 6 +- .../_incubating/attributes/net_attributes.py | 10 +- .../attributes/network_attributes.py | 10 +- .../_incubating/attributes/otel_attributes.py | 6 +- .../attributes/other_attributes.py | 6 +- .../attributes/process_attributes.py | 6 +- .../attributes/system_attributes.py | 14 +-- .../attributes/telemetry_attributes.py | 6 +- .../_incubating/attributes/vcs_attributes.py | 6 +- .../opentelemetry/semconv/metrics/__init__.py | 7 +- .../semconv/resource/__init__.py | 37 +++--- .../opentelemetry/semconv/trace/__init__.py | 56 ++++----- .../test-requirements.txt | 1 - .../pyproject.toml | 2 +- .../opentelemetry/propagators/b3/__init__.py | 5 +- .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - scripts/semconv/templates/registry/common.j2 | 2 +- .../templates/registry/semantic_attributes.j2 | 4 +- .../test-requirements.txt | 1 - .../pyproject.toml | 2 +- .../shim/opentracing_shim/__init__.py | 6 +- .../test-requirements.txt | 1 - .../test-requirements.txt | 1 - uv.lock | 118 ++---------------- 57 files changed, 155 insertions(+), 288 deletions(-) diff --git a/docs/examples/metrics/reader/requirements.txt b/docs/examples/metrics/reader/requirements.txt index 2ccffaf3925..d7a896c9570 100644 --- a/docs/examples/metrics/reader/requirements.txt +++ b/docs/examples/metrics/reader/requirements.txt @@ -1,6 +1,5 @@ -Deprecated==1.2.13 opentelemetry-api==1.15.0 opentelemetry-sdk==1.15.0 opentelemetry-semantic-conventions==0.36b0 -typing_extensions==4.3.0 +typing_extensions==4.5.0 wrapt==1.14.1 diff --git a/docs/examples/metrics/views/requirements.txt b/docs/examples/metrics/views/requirements.txt index be612711351..c530b620b95 100644 --- a/docs/examples/metrics/views/requirements.txt +++ b/docs/examples/metrics/views/requirements.txt @@ -1,6 +1,5 @@ -Deprecated==1.2.13 opentelemetry-api==1.12.0 opentelemetry-sdk==1.12.0 opentelemetry-semantic-conventions==0.33b0 -typing_extensions==4.3.0 +typing_extensions==4.5.0 wrapt==1.14.1 diff --git a/docs/getting_started/tests/requirements.txt b/docs/getting_started/tests/requirements.txt index efde1190e01..1c49794a5f7 100644 --- a/docs/getting_started/tests/requirements.txt +++ b/docs/getting_started/tests/requirements.txt @@ -3,7 +3,6 @@ attrs==23.1.0 certifi==2024.7.4 charset-normalizer==2.0.12 click==8.1.7 -Deprecated==1.2.14 Flask==2.3.3 idna==3.7 importlib-metadata==6.8.0 diff --git a/exporter/opentelemetry-exporter-opencensus/test-requirements.txt b/exporter/opentelemetry-exporter-opencensus/test-requirements.txt index 9240593a0d0..902bca5dbc8 100644 --- a/exporter/opentelemetry-exporter-opencensus/test-requirements.txt +++ b/exporter/opentelemetry-exporter-opencensus/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 grpcio==1.66.2 importlib-metadata==6.11.0 iniconfig==2.0.0 diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt b/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt index 6ab1dbf75b7..1c295c81ca5 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index aa649dabf3f..5bcd2a85c20 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -28,7 +28,6 @@ classifiers = [ "Programming Language :: Python :: 3.13", ] dependencies = [ - "Deprecated >= 1.2.6", "googleapis-common-protos ~= 1.52", "grpcio >= 1.63.2, < 2.0.0; python_version < '3.13'", "grpcio >= 1.66.2, < 2.0.0; python_version >= '3.13'", @@ -36,6 +35,7 @@ dependencies = [ "opentelemetry-proto == 1.32.0.dev", "opentelemetry-sdk ~= 1.32.0.dev", "opentelemetry-exporter-otlp-proto-common == 1.32.0.dev", + "typing-extensions >= 4.5.0", ] [project.entry-points.opentelemetry_logs_exporter] diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py index 4be75c5335e..dcfbc385b7a 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py @@ -34,8 +34,8 @@ from typing import Sequence as TypingSequence from urllib.parse import urlparse -from deprecated import deprecated from google.rpc.error_details_pb2 import RetryInfo +from typing_extensions import deprecated from grpc import ( ChannelCredentials, @@ -108,8 +108,7 @@ def environ_to_compression(environ_key: str) -> Optional[Compression]: @deprecated( - version="1.18.0", - reason="Use one of the encoders from opentelemetry-exporter-otlp-proto-common instead", + "Use one of the encoders from opentelemetry-exporter-otlp-proto-common instead. Deprecated since version 1.18.0.", ) def get_resource_data( sdk_resource_scope_data: Dict[SDKResource, ResourceDataT], diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.txt b/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.txt index 28d778461a9..e11dad64b40 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 googleapis-common-protos==1.63.2 grpcio==1.66.2 importlib-metadata==6.11.0 diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml index 3b162353997..32752e62523 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml @@ -28,13 +28,13 @@ classifiers = [ "Programming Language :: Python :: 3.13", ] dependencies = [ - "Deprecated >= 1.2.6", "googleapis-common-protos ~= 1.52", "opentelemetry-api ~= 1.15", "opentelemetry-proto == 1.32.0.dev", "opentelemetry-sdk ~= 1.32.0.dev", "opentelemetry-exporter-otlp-proto-common == 1.32.0.dev", "requests ~= 2.7", + "typing-extensions >= 4.5.0", ] [project.entry-points.opentelemetry_traces_exporter] diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py index 00f429e4c97..99079831639 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py @@ -28,7 +28,7 @@ ) import requests -from deprecated import deprecated +from typing_extensions import deprecated from opentelemetry.exporter.otlp.proto.common._internal import ( _create_exp_backoff_generator, @@ -238,8 +238,7 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: @deprecated( - version="1.18.0", - reason="Use one of the encoders from opentelemetry-exporter-otlp-proto-common instead", + "Use one of the encoders from opentelemetry-exporter-otlp-proto-common instead. Deprecated since version 1.18.0.", ) def get_resource_data( sdk_resource_scope_data: Dict[SDKResource, Any], # ResourceDataT? diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt b/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt index d601ca693bd..3562b3c850c 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt @@ -1,7 +1,6 @@ asgiref==3.7.2 certifi==2024.7.4 charset-normalizer==3.3.2 -Deprecated==1.2.14 googleapis-common-protos==1.63.2 idna==3.7 importlib-metadata==6.11.0 diff --git a/exporter/opentelemetry-exporter-otlp/test-requirements.txt b/exporter/opentelemetry-exporter-otlp/test-requirements.txt index bdb237ab620..e8b7485937b 100644 --- a/exporter/opentelemetry-exporter-otlp/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/exporter/opentelemetry-exporter-prometheus/test-requirements.txt b/exporter/opentelemetry-exporter-prometheus/test-requirements.txt index 71167534060..6c7224f91a7 100644 --- a/exporter/opentelemetry-exporter-prometheus/test-requirements.txt +++ b/exporter/opentelemetry-exporter-prometheus/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/exporter/opentelemetry-exporter-zipkin-json/test-requirements.txt b/exporter/opentelemetry-exporter-zipkin-json/test-requirements.txt index 6b304a56ddf..f1eb0be54bb 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/test-requirements.txt +++ b/exporter/opentelemetry-exporter-zipkin-json/test-requirements.txt @@ -1,7 +1,6 @@ asgiref==3.7.2 certifi==2024.7.4 charset-normalizer==3.3.2 -Deprecated==1.2.14 idna==3.7 importlib-metadata==6.11.0 iniconfig==2.0.0 diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/test-requirements.txt b/exporter/opentelemetry-exporter-zipkin-proto-http/test-requirements.txt index a3b296b4805..2fdd3316a0b 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/test-requirements.txt +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/test-requirements.txt @@ -1,7 +1,6 @@ asgiref==3.7.2 certifi==2024.7.4 charset-normalizer==3.3.2 -Deprecated==1.2.14 idna==3.7 importlib-metadata==6.11.0 iniconfig==2.0.0 diff --git a/exporter/opentelemetry-exporter-zipkin/test-requirements.txt b/exporter/opentelemetry-exporter-zipkin/test-requirements.txt index 6174e79ba3d..2ef91a494a9 100644 --- a/exporter/opentelemetry-exporter-zipkin/test-requirements.txt +++ b/exporter/opentelemetry-exporter-zipkin/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/opentelemetry-api/pyproject.toml b/opentelemetry-api/pyproject.toml index 73a836c2014..a33a66c4a46 100644 --- a/opentelemetry-api/pyproject.toml +++ b/opentelemetry-api/pyproject.toml @@ -27,7 +27,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "Deprecated >= 1.2.6", + "typing-extensions >= 4.5.0", # FIXME This should be able to be removed after 3.12 is released if there is a reliable API # in importlib.metadata. "importlib-metadata >= 6.0, < 8.7.0", diff --git a/opentelemetry-api/src/opentelemetry/propagators/composite.py b/opentelemetry-api/src/opentelemetry/propagators/composite.py index 77330d94103..08dddb03cd8 100644 --- a/opentelemetry-api/src/opentelemetry/propagators/composite.py +++ b/opentelemetry-api/src/opentelemetry/propagators/composite.py @@ -14,7 +14,7 @@ import logging import typing -from deprecated import deprecated +from typing_extensions import deprecated from opentelemetry.context.context import Context from opentelemetry.propagators import textmap @@ -84,7 +84,9 @@ def fields(self) -> typing.Set[str]: return composite_fields -@deprecated(version="1.2.0", reason="You should use CompositePropagator") # type: ignore +@deprecated( + "You should use CompositePropagator. Deprecated since version 1.2.0." +) class CompositeHTTPPropagator(CompositePropagator): """CompositeHTTPPropagator provides a mechanism for combining multiple propagators into a single one. diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index 73087e956e6..529c73989c8 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -80,7 +80,7 @@ from logging import getLogger from typing import Iterator, Optional, Sequence, cast -from deprecated import deprecated +from typing_extensions import deprecated from opentelemetry import context as context_api from opentelemetry.attributes import BoundedAttributes @@ -244,7 +244,9 @@ def get_tracer( return NoOpTracer() -@deprecated(version="1.9.0", reason="You should use NoOpTracerProvider") # type: ignore +@deprecated( + "You should use NoOpTracerProvider. Deprecated since version 1.9.0." +) class _DefaultTracerProvider(NoOpTracerProvider): """The default TracerProvider, used when no implementation is available. @@ -487,7 +489,7 @@ def start_as_current_span( yield INVALID_SPAN -@deprecated(version="1.9.0", reason="You should use NoOpTracer") # type: ignore +@deprecated("You should use NoOpTracer. Deprecated since version 1.9.0.") class _DefaultTracer(NoOpTracer): """The default Tracer, used when no Tracer implementation is available. diff --git a/opentelemetry-api/src/opentelemetry/util/re.py b/opentelemetry-api/src/opentelemetry/util/re.py index 2436cb6173e..28ecd03d3ec 100644 --- a/opentelemetry-api/src/opentelemetry/util/re.py +++ b/opentelemetry-api/src/opentelemetry/util/re.py @@ -17,7 +17,7 @@ from typing import Dict, List, Mapping from urllib.parse import unquote -from deprecated import deprecated +from typing_extensions import deprecated _logger = getLogger(__name__) @@ -59,7 +59,9 @@ # pylint: disable=invalid-name -@deprecated(version="1.15.0", reason="You should use parse_env_headers") # type: ignore +@deprecated( + "You should use parse_env_headers. Deprecated since version 1.15.0." +) def parse_headers(s: str) -> Mapping[str, str]: return parse_env_headers(s) diff --git a/opentelemetry-api/test-requirements.txt b/opentelemetry-api/test-requirements.txt index 3cd0616c7cb..126e2db591e 100644 --- a/opentelemetry-api/test-requirements.txt +++ b/opentelemetry-api/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==8.5.0 ; python_version < "3.9" importlib-metadata==8.6.1 ; python_version >= "3.9" iniconfig==2.0.0 diff --git a/opentelemetry-proto/test-requirements.txt b/opentelemetry-proto/test-requirements.txt index e1e58e1a9ad..892e355def8 100644 --- a/opentelemetry-proto/test-requirements.txt +++ b/opentelemetry-proto/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index 3ac45806358..a1c0576520e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -40,7 +40,7 @@ ) from warnings import filterwarnings -from deprecated import deprecated +from typing_extensions import deprecated from opentelemetry import context as context_api from opentelemetry import trace as trace_api @@ -474,7 +474,7 @@ def resource(self) -> Resource: @property @deprecated( - version="1.11.1", reason="You should use instrumentation_scope" + "You should use instrumentation_scope. Deprecated since version 1.11.1." ) def instrumentation_info(self) -> Optional[InstrumentationInfo]: return self._instrumentation_info @@ -1239,8 +1239,7 @@ def get_tracer( filterwarnings( "ignore", message=( - r"Call to deprecated method __init__. \(You should use " - r"InstrumentationScope\) -- Deprecated since version 1.11.1." + r"You should use InstrumentationScope. Deprecated since version 1.11.1." ), category=DeprecationWarning, module="opentelemetry.sdk.trace", diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.py index 68f10ddc9e9..72f92fc25cc 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.py @@ -18,7 +18,7 @@ from collections.abc import MutableMapping, Sequence from typing import Optional -from deprecated import deprecated +from typing_extensions import deprecated def ns_to_iso_str(nanoseconds): @@ -93,7 +93,7 @@ def from_seq(cls, maxlen, seq): return bounded_list -@deprecated(version="1.4.0") # type: ignore +@deprecated("Deprecated since version 1.4.0.") class BoundedDict(MutableMapping): """An ordered dict with a fixed max capacity. diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/util/instrumentation.py b/opentelemetry-sdk/src/opentelemetry/sdk/util/instrumentation.py index 6b45bf2a827..885b544e4a9 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/util/instrumentation.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/util/instrumentation.py @@ -14,7 +14,7 @@ from json import dumps from typing import Optional -from deprecated import deprecated +from typing_extensions import deprecated from opentelemetry.attributes import BoundedAttributes from opentelemetry.util.types import Attributes @@ -29,7 +29,9 @@ class InstrumentationInfo: __slots__ = ("_name", "_version", "_schema_url") - @deprecated(version="1.11.1", reason="You should use InstrumentationScope") + @deprecated( + "You should use InstrumentationScope. Deprecated since version 1.11.1." + ) def __init__( self, name: str, diff --git a/opentelemetry-sdk/test-requirements.txt b/opentelemetry-sdk/test-requirements.txt index 68755072fb1..6c260c1a3ed 100644 --- a/opentelemetry-sdk/test-requirements.txt +++ b/opentelemetry-sdk/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 flaky==3.7.0 importlib-metadata==6.11.0 iniconfig==2.0.0 diff --git a/opentelemetry-semantic-conventions/pyproject.toml b/opentelemetry-semantic-conventions/pyproject.toml index 35d4a72cb2f..567322ffebb 100644 --- a/opentelemetry-semantic-conventions/pyproject.toml +++ b/opentelemetry-semantic-conventions/pyproject.toml @@ -29,7 +29,7 @@ classifiers = [ dependencies = [ "opentelemetry-api == 1.32.0.dev", - "Deprecated >= 1.2.6", + "typing-extensions >= 4.5.0", ] [project.urls] diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/container_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/container_attributes.py index 9c5be2b6869..c922009ecc5 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/container_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/container_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated CONTAINER_COMMAND: Final = "container.command" """ @@ -101,8 +101,8 @@ @deprecated( - reason="The attribute container.cpu.state is deprecated - Replaced by `cpu.mode`" -) # type: ignore + "The attribute container.cpu.state is deprecated - Replaced by `cpu.mode`" +) class ContainerCpuStateValues(Enum): USER = "user" """When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py index ada3000a4a2..aef854ef70d 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated DB_CASSANDRA_CONSISTENCY_LEVEL: Final = "db.cassandra.consistency_level" """ @@ -304,8 +304,8 @@ @deprecated( - reason="The attribute db.cassandra.consistency_level is deprecated - Replaced by `cassandra.consistency.level`" -) # type: ignore + "The attribute db.cassandra.consistency_level is deprecated - Replaced by `cassandra.consistency.level`" +) class DbCassandraConsistencyLevelValues(Enum): ALL = "all" """all.""" @@ -339,8 +339,8 @@ class DbClientConnectionStateValues(Enum): @deprecated( - reason="The attribute db.client.connections.state is deprecated - Replaced by `db.client.connection.state`" -) # type: ignore + "The attribute db.client.connections.state is deprecated - Replaced by `db.client.connection.state`" +) class DbClientConnectionsStateValues(Enum): IDLE = "idle" """idle.""" @@ -349,8 +349,8 @@ class DbClientConnectionsStateValues(Enum): @deprecated( - reason="The attribute db.cosmosdb.connection_mode is deprecated - Replaced by `azure.cosmosdb.connection.mode`" -) # type: ignore + "The attribute db.cosmosdb.connection_mode is deprecated - Replaced by `azure.cosmosdb.connection.mode`" +) class DbCosmosdbConnectionModeValues(Enum): GATEWAY = "gateway" """Gateway (HTTP) connection.""" @@ -359,8 +359,8 @@ class DbCosmosdbConnectionModeValues(Enum): @deprecated( - reason="The attribute db.cosmosdb.consistency_level is deprecated - Replaced by `azure.cosmosdb.consistency.level`" -) # type: ignore + "The attribute db.cosmosdb.consistency_level is deprecated - Replaced by `azure.cosmosdb.consistency.level`" +) class DbCosmosdbConsistencyLevelValues(Enum): STRONG = "Strong" """strong.""" @@ -375,8 +375,8 @@ class DbCosmosdbConsistencyLevelValues(Enum): @deprecated( - reason="The attribute db.cosmosdb.operation_type is deprecated - No replacement at this time" -) # type: ignore + "The attribute db.cosmosdb.operation_type is deprecated - No replacement at this time" +) class DbCosmosdbOperationTypeValues(Enum): BATCH = "batch" """batch.""" @@ -411,8 +411,8 @@ class DbCosmosdbOperationTypeValues(Enum): @deprecated( - reason="The attribute db.system is deprecated - Replaced by `db.system.name`" -) # type: ignore + "The attribute db.system is deprecated - Replaced by `db.system.name`" +) class DbSystemValues(Enum): OTHER_SQL = "other_sql" """Some other SQL database. Fallback only. See notes.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/error_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/error_attributes.py index 7c9589864fa..f6908295173 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/error_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/error_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated ERROR_MESSAGE: Final = "error.message" """ @@ -34,8 +34,8 @@ @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.error_attributes.ErrorTypeValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.error_attributes.ErrorTypeValues`." +) class ErrorTypeValues(Enum): OTHER = "_OTHER" """Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.error_attributes.ErrorTypeValues.OTHER`.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py index 70b1feb1f15..a230896977d 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/gen_ai_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated GEN_AI_AGENT_DESCRIPTION: Final = "gen_ai.agent.description" """ @@ -223,8 +223,8 @@ @deprecated( - reason="The attribute gen_ai.openai.request.response_format is deprecated - Replaced by `gen_ai.output.type`" -) # type: ignore + "The attribute gen_ai.openai.request.response_format is deprecated - Replaced by `gen_ai.output.type`" +) class GenAiOpenaiRequestResponseFormatValues(Enum): TEXT = "text" """Text response format.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/http_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/http_attributes.py index f2e1ccb7408..56dca7a28ec 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/http_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/http_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated HTTP_CLIENT_IP: Final = "http.client_ip" """ @@ -160,8 +160,8 @@ class HttpConnectionStateValues(Enum): @deprecated( - reason="The attribute http.flavor is deprecated - Replaced by `network.protocol.name`" -) # type: ignore + "The attribute http.flavor is deprecated - Replaced by `network.protocol.name`" +) class HttpFlavorValues(Enum): HTTP_1_0 = "1.0" """HTTP/1.0.""" @@ -178,8 +178,8 @@ class HttpFlavorValues(Enum): @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.http_attributes.HttpRequestMethodValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.http_attributes.HttpRequestMethodValues`." +) class HttpRequestMethodValues(Enum): CONNECT = "CONNECT" """Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.http_attributes.HttpRequestMethodValues.CONNECT`.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/message_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/message_attributes.py index 8728d81b46e..f6ff0296fa2 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/message_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/message_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated MESSAGE_COMPRESSED_SIZE: Final = "message.compressed_size" """ @@ -39,8 +39,8 @@ @deprecated( - reason="The attribute message.type is deprecated - Replaced by `rpc.message.type`" -) # type: ignore + "The attribute message.type is deprecated - Replaced by `rpc.message.type`" +) class MessageTypeValues(Enum): SENT = "SENT" """sent.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/net_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/net_attributes.py index a1789a06fcb..019c1ff647e 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/net_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/net_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated NET_HOST_IP: Final = "net.host.ip" """ @@ -94,8 +94,8 @@ @deprecated( - reason="The attribute net.sock.family is deprecated - Split to `network.transport` and `network.type`" -) # type: ignore + "The attribute net.sock.family is deprecated - Split to `network.transport` and `network.type`" +) class NetSockFamilyValues(Enum): INET = "inet" """IPv4 address.""" @@ -106,8 +106,8 @@ class NetSockFamilyValues(Enum): @deprecated( - reason="The attribute net.transport is deprecated - Replaced by `network.transport`" -) # type: ignore + "The attribute net.transport is deprecated - Replaced by `network.transport`" +) class NetTransportValues(Enum): IP_TCP = "ip_tcp" """ip_tcp.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/network_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/network_attributes.py index 10de3e54dca..daa971dbfbc 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/network_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/network_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated NETWORK_CARRIER_ICC: Final = "network.carrier.icc" """ @@ -195,8 +195,8 @@ class NetworkIoDirectionValues(Enum): @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.network_attributes.NetworkTransportValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.network_attributes.NetworkTransportValues`." +) class NetworkTransportValues(Enum): TCP = "tcp" """Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.network_attributes.NetworkTransportValues.TCP`.""" @@ -211,8 +211,8 @@ class NetworkTransportValues(Enum): @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.network_attributes.NetworkTypeValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.network_attributes.NetworkTypeValues`." +) class NetworkTypeValues(Enum): IPV4 = "ipv4" """Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.network_attributes.NetworkTypeValues.IPV4`.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/otel_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/otel_attributes.py index 38b0ce26ed5..e0263035d59 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/otel_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/otel_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated OTEL_COMPONENT_NAME: Final = "otel.component.name" """ @@ -111,8 +111,8 @@ class OtelSpanSamplingResultValues(Enum): @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.otel_attributes.OtelStatusCodeValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.otel_attributes.OtelStatusCodeValues`." +) class OtelStatusCodeValues(Enum): OK = "OK" """Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.otel_attributes.OtelStatusCodeValues.OK`.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/other_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/other_attributes.py index 2f4ae932f61..45157019617 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/other_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/other_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated STATE: Final = "state" """ @@ -24,8 +24,8 @@ @deprecated( - reason="The attribute state is deprecated - Replaced by `db.client.connection.state`" -) # type: ignore + "The attribute state is deprecated - Replaced by `db.client.connection.state`" +) class StateValues(Enum): IDLE = "idle" """idle.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/process_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/process_attributes.py index 9011c68f789..cecc279fc77 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/process_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/process_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated PROCESS_ARGS_COUNT: Final = "process.args_count" """ @@ -209,8 +209,8 @@ class ProcessContextSwitchTypeValues(Enum): @deprecated( - reason="The attribute process.cpu.state is deprecated - Replaced by `cpu.mode`" -) # type: ignore + "The attribute process.cpu.state is deprecated - Replaced by `cpu.mode`" +) class ProcessCpuStateValues(Enum): SYSTEM = "system" """system.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/system_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/system_attributes.py index aae23bf9912..63df13efa8a 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/system_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/system_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated SYSTEM_CPU_LOGICAL_NUMBER: Final = "system.cpu.logical_number" """ @@ -89,8 +89,8 @@ @deprecated( - reason="The attribute system.cpu.state is deprecated - Replaced by `cpu.mode`" -) # type: ignore + "The attribute system.cpu.state is deprecated - Replaced by `cpu.mode`" +) class SystemCpuStateValues(Enum): USER = "user" """user.""" @@ -146,8 +146,8 @@ class SystemMemoryStateValues(Enum): @deprecated( - reason="The attribute system.network.state is deprecated - Removed, report network connection state with `network.connection.state` attribute" -) # type: ignore + "The attribute system.network.state is deprecated - Removed, report network connection state with `network.connection.state` attribute" +) class SystemNetworkStateValues(Enum): CLOSE = "close" """close.""" @@ -208,8 +208,8 @@ class SystemProcessStatusValues(Enum): @deprecated( - reason="The attribute system.processes.status is deprecated - Replaced by `system.process.status`" -) # type: ignore + "The attribute system.processes.status is deprecated - Replaced by `system.process.status`" +) class SystemProcessesStatusValues(Enum): RUNNING = "running" """running.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/telemetry_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/telemetry_attributes.py index 3ba6d9f7c8a..cd5df9b0d9b 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/telemetry_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/telemetry_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated TELEMETRY_DISTRO_NAME: Final = "telemetry.distro.name" """ @@ -46,8 +46,8 @@ @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.telemetry_attributes.TelemetrySdkLanguageValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.telemetry_attributes.TelemetrySdkLanguageValues`." +) class TelemetrySdkLanguageValues(Enum): CPP = "cpp" """Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.telemetry_attributes.TelemetrySdkLanguageValues.CPP`.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/vcs_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/vcs_attributes.py index 8585bc8e3f7..f1e84ed2b1a 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/vcs_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/vcs_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated VCS_CHANGE_ID: Final = "vcs.change.id" """ @@ -213,8 +213,8 @@ class VcsRefTypeValues(Enum): @deprecated( - reason="The attribute vcs.repository.ref.type is deprecated - Deprecated, use `vcs.ref.head.type` instead" -) # type: ignore + "The attribute vcs.repository.ref.type is deprecated - Deprecated, use `vcs.ref.head.type` instead" +) class VcsRepositoryRefTypeValues(Enum): BRANCH = "branch" """[branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch).""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/metrics/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/metrics/__init__.py index bad7b745f79..db53aad7c21 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/metrics/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/metrics/__init__.py @@ -12,13 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -from deprecated import deprecated +from typing_extensions import deprecated @deprecated( - version="1.25.0", - reason="Use metrics defined in the :py:const:`opentelemetry.semconv.metrics` and :py:const:`opentelemetry.semconv._incubating.metrics` modules instead.", -) # type: ignore + "Use metrics defined in the :py:const:`opentelemetry.semconv.metrics` and :py:const:`opentelemetry.semconv._incubating.metrics` modules instead. Deprecated since version 1.25.0.", +) class MetricInstruments: SCHEMA_URL = "https://opentelemetry.io/schemas/1.21.0" """ diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py index 75496e02ce7..6e4adfeb10c 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py @@ -16,13 +16,12 @@ from enum import Enum -from deprecated import deprecated +from typing_extensions import deprecated @deprecated( - version="1.25.0", - reason="Use attributes defined in the :py:const:`opentelemetry.semconv.attributes` and :py:const:`opentelemetry.semconv._incubating.attributes` modules instead.", -) # type: ignore + "Use attributes defined in the :py:const:`opentelemetry.semconv.attributes` and :py:const:`opentelemetry.semconv._incubating.attributes` modules instead. Deprecated since version 1.25.0.", +) class ResourceAttributes: SCHEMA_URL = "https://opentelemetry.io/schemas/1.21.0" """ @@ -657,9 +656,8 @@ class ResourceAttributes: @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.CloudProviderValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.CloudProviderValues` instead. Deprecated since version 1.25.0.", +) class CloudProviderValues(Enum): ALIBABA_CLOUD = "alibaba_cloud" """Alibaba Cloud.""" @@ -684,9 +682,8 @@ class CloudProviderValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.CloudPlatformValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.CloudPlatformValues` instead. Deprecated since version 1.25.0.", +) class CloudPlatformValues(Enum): ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs" """Alibaba Cloud Elastic Compute Service.""" @@ -771,9 +768,8 @@ class CloudPlatformValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.AwsEcsLaunchtypeValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.AwsEcsLaunchtypeValues` instead. Deprecated since version 1.25.0.", +) class AwsEcsLaunchtypeValues(Enum): EC2 = "ec2" """ec2.""" @@ -783,9 +779,8 @@ class AwsEcsLaunchtypeValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.HostArchValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.HostArchValues` instead. Deprecated since version 1.25.0.", +) class HostArchValues(Enum): AMD64 = "amd64" """AMD64.""" @@ -813,9 +808,8 @@ class HostArchValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.OsTypeValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.OsTypeValues` instead. Deprecated since version 1.25.0.", +) class OsTypeValues(Enum): WINDOWS = "windows" """Microsoft Windows.""" @@ -852,9 +846,8 @@ class OsTypeValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv.attributes.TelemetrySdkLanguageValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv.attributes.TelemetrySdkLanguageValues` instead. Deprecated since version 1.25.0.", +) class TelemetrySdkLanguageValues(Enum): CPP = "cpp" """cpp.""" diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py index 299d3db0a87..c03ca556a29 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py @@ -16,13 +16,12 @@ from enum import Enum -from deprecated import deprecated +from typing_extensions import deprecated @deprecated( - version="1.25.0", - reason="Use attributes defined in the :py:const:`opentelemetry.semconv.attributes` and :py:const:`opentelemetry.semconv._incubating.attributes` modules instead.", -) # type: ignore + "Use attributes defined in the :py:const:`opentelemetry.semconv.attributes` and :py:const:`opentelemetry.semconv._incubating.attributes` modules instead. Deprecated since version 1.25.0.", +) class SpanAttributes: SCHEMA_URL = "https://opentelemetry.io/schemas/1.21.0" """ @@ -1404,9 +1403,8 @@ class SpanAttributes: @deprecated( - version="1.18.0", - reason="Removed from the specification in favor of `network.protocol.name` and `network.protocol.version` attributes", -) # type: ignore + "Removed from the specification in favor of `network.protocol.name` and `network.protocol.version` attributes. Deprecated since version 1.18.0.", +) class HttpFlavorValues(Enum): HTTP_1_0 = "1.0" @@ -1422,9 +1420,8 @@ class HttpFlavorValues(Enum): @deprecated( - version="1.18.0", - reason="Removed from the specification", -) # type: ignore + "Removed from the specification. Deprecated since version 1.18.0.", +) class MessagingDestinationKindValues(Enum): QUEUE = "queue" """A message sent to a queue.""" @@ -1434,9 +1431,8 @@ class MessagingDestinationKindValues(Enum): @deprecated( - version="1.21.0", - reason="Renamed to NetworkConnectionTypeValues", -) # type: ignore + "Renamed to NetworkConnectionTypeValues. Deprecated since version 1.21.0.", +) class NetHostConnectionTypeValues(Enum): WIFI = "wifi" """wifi.""" @@ -1455,9 +1451,8 @@ class NetHostConnectionTypeValues(Enum): @deprecated( - version="1.21.0", - reason="Renamed to NetworkConnectionSubtypeValues", -) # type: ignore + "Renamed to NetworkConnectionSubtypeValues. Deprecated since version 1.21.0.", +) class NetHostConnectionSubtypeValues(Enum): GPRS = "gprs" """GPRS.""" @@ -1524,9 +1519,8 @@ class NetHostConnectionSubtypeValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv.attributes.NetworkTransportValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv.attributes.NetworkTransportValues` instead. Deprecated since version 1.25.0.", +) class NetTransportValues(Enum): IP_TCP = "ip_tcp" """ip_tcp.""" @@ -1545,9 +1539,8 @@ class NetTransportValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv.attributes.NetworkType` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv.attributes.NetworkType` instead. Deprecated since version 1.25.0.", +) class NetSockFamilyValues(Enum): INET = "inet" """IPv4 address.""" @@ -1560,9 +1553,8 @@ class NetSockFamilyValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv.attributes.HttpRequestMethodValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv.attributes.HttpRequestMethodValues` instead. Deprecated since version 1.25.0.", +) class HttpRequestMethodValues(Enum): CONNECT = "CONNECT" """CONNECT method.""" @@ -1595,7 +1587,7 @@ class HttpRequestMethodValues(Enum): """Any HTTP method that the instrumentation has no prior knowledge of.""" -@deprecated(version="1.25.0", reason="Removed from the specification.") # type: ignore +@deprecated("Removed from the specification. Deprecated since version 1.25.0.") class EventDomainValues(Enum): BROWSER = "browser" """Events from browser apps.""" @@ -1608,9 +1600,8 @@ class EventDomainValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.LogIostreamValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.LogIostreamValues` instead. Deprecated since version 1.25.0.", +) class LogIostreamValues(Enum): STDOUT = "stdout" """Logs from stdout stream.""" @@ -1619,7 +1610,7 @@ class LogIostreamValues(Enum): """Events from stderr stream.""" -@deprecated(version="1.25.0", reason="Removed from the specification.") # type: ignore +@deprecated("Removed from the specification. Deprecated since version 1.25.0.") class TypeValues(Enum): HEAP = "heap" """Heap memory.""" @@ -1629,9 +1620,8 @@ class TypeValues(Enum): @deprecated( - version="1.25.0", - reason="Use :py:const:`opentelemetry.semconv._incubating.attributes.OpentracingRefTypeValues` instead.", -) # type: ignore + "Use :py:const:`opentelemetry.semconv._incubating.attributes.OpentracingRefTypeValues` instead. Deprecated since version 1.25.0.", +) class OpentracingRefTypeValues(Enum): CHILD_OF = "child_of" """The parent Span depends on the child Span in some capacity.""" diff --git a/opentelemetry-semantic-conventions/test-requirements.txt b/opentelemetry-semantic-conventions/test-requirements.txt index cada74f6991..0188af404c0 100644 --- a/opentelemetry-semantic-conventions/test-requirements.txt +++ b/opentelemetry-semantic-conventions/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/propagator/opentelemetry-propagator-b3/pyproject.toml b/propagator/opentelemetry-propagator-b3/pyproject.toml index 50851b141b5..a1498dd2a98 100644 --- a/propagator/opentelemetry-propagator-b3/pyproject.toml +++ b/propagator/opentelemetry-propagator-b3/pyproject.toml @@ -28,7 +28,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "deprecated >= 1.2.6", + "typing-extensions >= 4.5.0", "opentelemetry-api ~= 1.3", ] diff --git a/propagator/opentelemetry-propagator-b3/src/opentelemetry/propagators/b3/__init__.py b/propagator/opentelemetry-propagator-b3/src/opentelemetry/propagators/b3/__init__.py index 1bbc3614f9b..9bcce9b7c0e 100644 --- a/propagator/opentelemetry-propagator-b3/src/opentelemetry/propagators/b3/__init__.py +++ b/propagator/opentelemetry-propagator-b3/src/opentelemetry/propagators/b3/__init__.py @@ -15,7 +15,7 @@ import typing from re import compile as re_compile -from deprecated import deprecated +from typing_extensions import deprecated from opentelemetry import trace from opentelemetry.context import Context @@ -195,8 +195,7 @@ def fields(self) -> typing.Set[str]: class B3Format(B3MultiFormat): @deprecated( - version="1.2.0", - reason="B3Format is deprecated in favor of B3MultiFormat", + "B3Format is deprecated in favor of B3MultiFormat. Deprecated since version 1.2.0.", ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/propagator/opentelemetry-propagator-b3/test-requirements.txt b/propagator/opentelemetry-propagator-b3/test-requirements.txt index 9fea63eff92..3808ea78828 100644 --- a/propagator/opentelemetry-propagator-b3/test-requirements.txt +++ b/propagator/opentelemetry-propagator-b3/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/propagator/opentelemetry-propagator-jaeger/test-requirements.txt b/propagator/opentelemetry-propagator-jaeger/test-requirements.txt index f1200ed9eed..1df1ee258b2 100644 --- a/propagator/opentelemetry-propagator-jaeger/test-requirements.txt +++ b/propagator/opentelemetry-propagator-jaeger/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/scripts/semconv/templates/registry/common.j2 b/scripts/semconv/templates/registry/common.j2 index 9120f28f3e6..b5426ca20a2 100644 --- a/scripts/semconv/templates/registry/common.j2 +++ b/scripts/semconv/templates/registry/common.j2 @@ -29,7 +29,7 @@ {%- macro import_deprecated(semconv) -%} {%- if (semconv | select("deprecated") | list | count > 0) or (ctx.filter == "any" and semconv | select("stable") | list | count > 0) -%} -from deprecated import deprecated +from typing_extensions import deprecated {%- endif -%} {%- endmacro-%} diff --git a/scripts/semconv/templates/registry/semantic_attributes.j2 b/scripts/semconv/templates/registry/semantic_attributes.j2 index 1fd274528c9..9de036d75aa 100644 --- a/scripts/semconv/templates/registry/semantic_attributes.j2 +++ b/scripts/semconv/templates/registry/semantic_attributes.j2 @@ -60,9 +60,9 @@ from typing import Final {% for attribute in enum_attributes %}{%- set class_name = attribute.name | map_text("py_enum_attribute_to_class_name", attribute.name | pascal_case ~ "Values") -%} {%- if attribute is deprecated %} -@deprecated(reason="The attribute {{attribute.name}} is deprecated - {{ c.comment_with_prefix(attribute.deprecated.note, "") }}") # type: ignore +@deprecated("The attribute {{attribute.name}} is deprecated - {{ c.comment_with_prefix(attribute.deprecated.note, "") }}") {%- elif attribute.stability == "stable" and ctx.filter == "any" %} -@deprecated(reason="Deprecated in favor of stable :py:const:`{{stable_class_ref(class_name, '.')}}`.") # type: ignore +@deprecated("Deprecated in favor of stable :py:const:`{{stable_class_ref(class_name, '.')}}`.") {%- endif %} class {{class_name}}(Enum): {%- for member in attribute.type.members %} diff --git a/shim/opentelemetry-opencensus-shim/test-requirements.txt b/shim/opentelemetry-opencensus-shim/test-requirements.txt index 90e24cfa223..6718db8effd 100644 --- a/shim/opentelemetry-opencensus-shim/test-requirements.txt +++ b/shim/opentelemetry-opencensus-shim/test-requirements.txt @@ -2,7 +2,6 @@ asgiref==3.7.2 cachetools==5.3.3 certifi==2024.7.4 charset-normalizer==3.3.2 -Deprecated==1.2.14 google-api-core==2.17.1 google-auth==2.28.1 googleapis-common-protos==1.63.2 diff --git a/shim/opentelemetry-opentracing-shim/pyproject.toml b/shim/opentelemetry-opentracing-shim/pyproject.toml index c39003b0a27..2e273972cf4 100644 --- a/shim/opentelemetry-opentracing-shim/pyproject.toml +++ b/shim/opentelemetry-opentracing-shim/pyproject.toml @@ -28,7 +28,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "Deprecated >= 1.2.6", + "typing-extensions >= 4.5.0", "opentelemetry-api ~= 1.3", "opentracing ~= 2.0", ] diff --git a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py index 8f4935ea373..e7261a0d92f 100644 --- a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py +++ b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py @@ -90,7 +90,6 @@ from types import TracebackType from typing import Type, TypeVar -from deprecated import deprecated from opentracing import ( Format, Scope, @@ -100,6 +99,7 @@ Tracer, UnsupportedFormatException, ) +from typing_extensions import deprecated from opentelemetry.baggage import get_baggage, set_baggage from opentelemetry.context import ( @@ -286,11 +286,11 @@ def log_kv( self._otel_span.add_event(event_name, key_values, event_timestamp) return self - @deprecated(reason="This method is deprecated in favor of log_kv") + @deprecated("This method is deprecated in favor of log_kv") def log(self, **kwargs): super().log(**kwargs) - @deprecated(reason="This method is deprecated in favor of log_kv") + @deprecated("This method is deprecated in favor of log_kv") def log_event(self, event, payload=None): super().log_event(event, payload=payload) diff --git a/shim/opentelemetry-opentracing-shim/test-requirements.txt b/shim/opentelemetry-opentracing-shim/test-requirements.txt index af2b495543e..352c4fda3e1 100644 --- a/shim/opentelemetry-opentracing-shim/test-requirements.txt +++ b/shim/opentelemetry-opentracing-shim/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 opentracing==2.4.0 diff --git a/tests/opentelemetry-test-utils/test-requirements.txt b/tests/opentelemetry-test-utils/test-requirements.txt index 8e9c26e9255..804f2f2bc6f 100644 --- a/tests/opentelemetry-test-utils/test-requirements.txt +++ b/tests/opentelemetry-test-utils/test-requirements.txt @@ -1,5 +1,4 @@ asgiref==3.7.2 -Deprecated==1.2.14 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 diff --git a/uv.lock b/uv.lock index adb4be16d17..0b1a238c752 100644 --- a/uv.lock +++ b/uv.lock @@ -133,18 +133,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, ] -[[package]] -name = "deprecated" -version = "1.2.18" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "wrapt" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", size = 2928744 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998 }, -] - [[package]] name = "googleapis-common-protos" version = "1.68.0" @@ -263,15 +251,15 @@ wheels = [ name = "opentelemetry-api" source = { editable = "opentelemetry-api" } dependencies = [ - { name = "deprecated" }, { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "importlib-metadata", version = "8.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions" }, ] [package.metadata] requires-dist = [ - { name = "deprecated", specifier = ">=1.2.6" }, { name = "importlib-metadata", specifier = ">=6.0,<8.7.0" }, + { name = "typing-extensions", specifier = ">=4.5.0" }, ] [[package]] @@ -302,18 +290,17 @@ requires-dist = [{ name = "opentelemetry-proto", editable = "opentelemetry-proto name = "opentelemetry-exporter-otlp-proto-grpc" source = { editable = "exporter/opentelemetry-exporter-otlp-proto-grpc" } dependencies = [ - { name = "deprecated" }, { name = "googleapis-common-protos" }, { name = "grpcio" }, { name = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-common" }, { name = "opentelemetry-proto" }, { name = "opentelemetry-sdk" }, + { name = "typing-extensions" }, ] [package.metadata] requires-dist = [ - { name = "deprecated", specifier = ">=1.2.6" }, { name = "googleapis-common-protos", specifier = "~=1.52" }, { name = "grpcio", marker = "python_full_version < '3.13'", specifier = ">=1.63.2,<2.0.0" }, { name = "grpcio", marker = "python_full_version >= '3.13'", specifier = ">=1.66.2,<2.0.0" }, @@ -321,30 +308,31 @@ requires-dist = [ { name = "opentelemetry-exporter-otlp-proto-common", editable = "exporter/opentelemetry-exporter-otlp-proto-common" }, { name = "opentelemetry-proto", editable = "opentelemetry-proto" }, { name = "opentelemetry-sdk", editable = "opentelemetry-sdk" }, + { name = "typing-extensions", specifier = ">=4.5.0" }, ] [[package]] name = "opentelemetry-exporter-otlp-proto-http" source = { editable = "exporter/opentelemetry-exporter-otlp-proto-http" } dependencies = [ - { name = "deprecated" }, { name = "googleapis-common-protos" }, { name = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-common" }, { name = "opentelemetry-proto" }, { name = "opentelemetry-sdk" }, { name = "requests" }, + { name = "typing-extensions" }, ] [package.metadata] requires-dist = [ - { name = "deprecated", specifier = ">=1.2.6" }, { name = "googleapis-common-protos", specifier = "~=1.52" }, { name = "opentelemetry-api", editable = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-common", editable = "exporter/opentelemetry-exporter-otlp-proto-common" }, { name = "opentelemetry-proto", editable = "opentelemetry-proto" }, { name = "opentelemetry-sdk", editable = "opentelemetry-sdk" }, { name = "requests", specifier = "~=2.7" }, + { name = "typing-extensions", specifier = ">=4.5.0" }, ] [[package]] @@ -383,14 +371,14 @@ requires-dist = [ name = "opentelemetry-propagator-b3" source = { editable = "propagator/opentelemetry-propagator-b3" } dependencies = [ - { name = "deprecated" }, { name = "opentelemetry-api" }, + { name = "typing-extensions" }, ] [package.metadata] requires-dist = [ - { name = "deprecated", specifier = ">=1.2.6" }, { name = "opentelemetry-api", editable = "opentelemetry-api" }, + { name = "typing-extensions", specifier = ">=4.5.0" }, ] [[package]] @@ -468,14 +456,14 @@ requires-dist = [ name = "opentelemetry-semantic-conventions" source = { editable = "opentelemetry-semantic-conventions" } dependencies = [ - { name = "deprecated" }, { name = "opentelemetry-api" }, + { name = "typing-extensions" }, ] [package.metadata] requires-dist = [ - { name = "deprecated", specifier = ">=1.2.6" }, { name = "opentelemetry-api", editable = "opentelemetry-api" }, + { name = "typing-extensions", specifier = ">=4.5.0" }, ] [[package]] @@ -571,92 +559,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, ] -[[package]] -name = "wrapt" -version = "1.17.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/d1/1daec934997e8b160040c78d7b31789f19b122110a75eca3d4e8da0049e1/wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", size = 53307 }, - { url = "https://files.pythonhosted.org/packages/1b/7b/13369d42651b809389c1a7153baa01d9700430576c81a2f5c5e460df0ed9/wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", size = 38486 }, - { url = "https://files.pythonhosted.org/packages/62/bf/e0105016f907c30b4bd9e377867c48c34dc9c6c0c104556c9c9126bd89ed/wrapt-1.17.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", size = 38777 }, - { url = "https://files.pythonhosted.org/packages/27/70/0f6e0679845cbf8b165e027d43402a55494779295c4b08414097b258ac87/wrapt-1.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", size = 83314 }, - { url = "https://files.pythonhosted.org/packages/0f/77/0576d841bf84af8579124a93d216f55d6f74374e4445264cb378a6ed33eb/wrapt-1.17.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", size = 74947 }, - { url = "https://files.pythonhosted.org/packages/90/ec/00759565518f268ed707dcc40f7eeec38637d46b098a1f5143bff488fe97/wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", size = 82778 }, - { url = "https://files.pythonhosted.org/packages/f8/5a/7cffd26b1c607b0b0c8a9ca9d75757ad7620c9c0a9b4a25d3f8a1480fafc/wrapt-1.17.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", size = 81716 }, - { url = "https://files.pythonhosted.org/packages/7e/09/dccf68fa98e862df7e6a60a61d43d644b7d095a5fc36dbb591bbd4a1c7b2/wrapt-1.17.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", size = 74548 }, - { url = "https://files.pythonhosted.org/packages/b7/8e/067021fa3c8814952c5e228d916963c1115b983e21393289de15128e867e/wrapt-1.17.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", size = 81334 }, - { url = "https://files.pythonhosted.org/packages/4b/0d/9d4b5219ae4393f718699ca1c05f5ebc0c40d076f7e65fd48f5f693294fb/wrapt-1.17.2-cp310-cp310-win32.whl", hash = "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", size = 36427 }, - { url = "https://files.pythonhosted.org/packages/72/6a/c5a83e8f61aec1e1aeef939807602fb880e5872371e95df2137142f5c58e/wrapt-1.17.2-cp310-cp310-win_amd64.whl", hash = "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", size = 38774 }, - { url = "https://files.pythonhosted.org/packages/cd/f7/a2aab2cbc7a665efab072344a8949a71081eed1d2f451f7f7d2b966594a2/wrapt-1.17.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58", size = 53308 }, - { url = "https://files.pythonhosted.org/packages/50/ff/149aba8365fdacef52b31a258c4dc1c57c79759c335eff0b3316a2664a64/wrapt-1.17.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", size = 38488 }, - { url = "https://files.pythonhosted.org/packages/65/46/5a917ce85b5c3b490d35c02bf71aedaa9f2f63f2d15d9949cc4ba56e8ba9/wrapt-1.17.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", size = 38776 }, - { url = "https://files.pythonhosted.org/packages/ca/74/336c918d2915a4943501c77566db41d1bd6e9f4dbc317f356b9a244dfe83/wrapt-1.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", size = 83776 }, - { url = "https://files.pythonhosted.org/packages/09/99/c0c844a5ccde0fe5761d4305485297f91d67cf2a1a824c5f282e661ec7ff/wrapt-1.17.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", size = 75420 }, - { url = "https://files.pythonhosted.org/packages/b4/b0/9fc566b0fe08b282c850063591a756057c3247b2362b9286429ec5bf1721/wrapt-1.17.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", size = 83199 }, - { url = "https://files.pythonhosted.org/packages/9d/4b/71996e62d543b0a0bd95dda485219856def3347e3e9380cc0d6cf10cfb2f/wrapt-1.17.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", size = 82307 }, - { url = "https://files.pythonhosted.org/packages/39/35/0282c0d8789c0dc9bcc738911776c762a701f95cfe113fb8f0b40e45c2b9/wrapt-1.17.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", size = 75025 }, - { url = "https://files.pythonhosted.org/packages/4f/6d/90c9fd2c3c6fee181feecb620d95105370198b6b98a0770cba090441a828/wrapt-1.17.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", size = 81879 }, - { url = "https://files.pythonhosted.org/packages/8f/fa/9fb6e594f2ce03ef03eddbdb5f4f90acb1452221a5351116c7c4708ac865/wrapt-1.17.2-cp311-cp311-win32.whl", hash = "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", size = 36419 }, - { url = "https://files.pythonhosted.org/packages/47/f8/fb1773491a253cbc123c5d5dc15c86041f746ed30416535f2a8df1f4a392/wrapt-1.17.2-cp311-cp311-win_amd64.whl", hash = "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", size = 38773 }, - { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799 }, - { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821 }, - { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919 }, - { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721 }, - { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899 }, - { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222 }, - { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707 }, - { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685 }, - { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567 }, - { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672 }, - { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865 }, - { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800 }, - { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824 }, - { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920 }, - { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690 }, - { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861 }, - { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174 }, - { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721 }, - { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763 }, - { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585 }, - { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676 }, - { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871 }, - { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312 }, - { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062 }, - { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155 }, - { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471 }, - { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208 }, - { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339 }, - { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232 }, - { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476 }, - { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377 }, - { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986 }, - { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750 }, - { url = "https://files.pythonhosted.org/packages/0c/66/95b9e90e6e1274999b183c9c3f984996d870e933ca9560115bd1cd1d6f77/wrapt-1.17.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5c803c401ea1c1c18de70a06a6f79fcc9c5acfc79133e9869e730ad7f8ad8ef9", size = 53234 }, - { url = "https://files.pythonhosted.org/packages/a4/b6/6eced5e2db5924bf6d9223d2bb96b62e00395aae77058e6a9e11bf16b3bd/wrapt-1.17.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f917c1180fdb8623c2b75a99192f4025e412597c50b2ac870f156de8fb101119", size = 38462 }, - { url = "https://files.pythonhosted.org/packages/5d/a4/c8472fe2568978b5532df84273c53ddf713f689d408a4335717ab89547e0/wrapt-1.17.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ecc840861360ba9d176d413a5489b9a0aff6d6303d7e733e2c4623cfa26904a6", size = 38730 }, - { url = "https://files.pythonhosted.org/packages/3c/70/1d259c6b1ad164eb23ff70e3e452dd1950f96e6473f72b7207891d0fd1f0/wrapt-1.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb87745b2e6dc56361bfde481d5a378dc314b252a98d7dd19a651a3fa58f24a9", size = 86225 }, - { url = "https://files.pythonhosted.org/packages/a9/68/6b83367e1afb8de91cbea4ef8e85b58acdf62f034f05d78c7b82afaa23d8/wrapt-1.17.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58455b79ec2661c3600e65c0a716955adc2410f7383755d537584b0de41b1d8a", size = 78055 }, - { url = "https://files.pythonhosted.org/packages/0d/21/09573d2443916705c57fdab85d508f592c0a58d57becc53e15755d67fba2/wrapt-1.17.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4e42a40a5e164cbfdb7b386c966a588b1047558a990981ace551ed7e12ca9c2", size = 85592 }, - { url = "https://files.pythonhosted.org/packages/45/ce/700e17a852dd5dec894e241c72973ea82363486bcc1fb05d47b4fbd1d683/wrapt-1.17.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:91bd7d1773e64019f9288b7a5101f3ae50d3d8e6b1de7edee9c2ccc1d32f0c0a", size = 83906 }, - { url = "https://files.pythonhosted.org/packages/37/14/bd210faf0a66faeb8529d42b6b45a25d6aa6ce25ddfc19168e4161aed227/wrapt-1.17.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:bb90fb8bda722a1b9d48ac1e6c38f923ea757b3baf8ebd0c82e09c5c1a0e7a04", size = 76763 }, - { url = "https://files.pythonhosted.org/packages/34/0c/85af70d291f44659c422416f0272046109e785bf6db8c081cfeeae5715c5/wrapt-1.17.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:08e7ce672e35efa54c5024936e559469436f8b8096253404faeb54d2a878416f", size = 83573 }, - { url = "https://files.pythonhosted.org/packages/f8/1e/b215068e824878f69ea945804fa26c176f7c2735a3ad5367d78930bd076a/wrapt-1.17.2-cp38-cp38-win32.whl", hash = "sha256:410a92fefd2e0e10d26210e1dfb4a876ddaf8439ef60d6434f21ef8d87efc5b7", size = 36408 }, - { url = "https://files.pythonhosted.org/packages/52/27/3dd9ad5f1097b33c95d05929e409cc86d7c765cb5437b86694dc8f8e9af0/wrapt-1.17.2-cp38-cp38-win_amd64.whl", hash = "sha256:95c658736ec15602da0ed73f312d410117723914a5c91a14ee4cdd72f1d790b3", size = 38737 }, - { url = "https://files.pythonhosted.org/packages/8a/f4/6ed2b8f6f1c832933283974839b88ec7c983fd12905e01e97889dadf7559/wrapt-1.17.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99039fa9e6306880572915728d7f6c24a86ec57b0a83f6b2491e1d8ab0235b9a", size = 53308 }, - { url = "https://files.pythonhosted.org/packages/a2/a9/712a53f8f4f4545768ac532619f6e56d5d0364a87b2212531685e89aeef8/wrapt-1.17.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2696993ee1eebd20b8e4ee4356483c4cb696066ddc24bd70bcbb80fa56ff9061", size = 38489 }, - { url = "https://files.pythonhosted.org/packages/fa/9b/e172c8f28a489a2888df18f953e2f6cb8d33b1a2e78c9dfc52d8bf6a5ead/wrapt-1.17.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:612dff5db80beef9e649c6d803a8d50c409082f1fedc9dbcdfde2983b2025b82", size = 38776 }, - { url = "https://files.pythonhosted.org/packages/cf/cb/7a07b51762dcd59bdbe07aa97f87b3169766cadf240f48d1cbe70a1be9db/wrapt-1.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c2caa1585c82b3f7a7ab56afef7b3602021d6da34fbc1cf234ff139fed3cd9", size = 83050 }, - { url = "https://files.pythonhosted.org/packages/a5/51/a42757dd41032afd6d8037617aa3bc6803ba971850733b24dfb7d5c627c4/wrapt-1.17.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c958bcfd59bacc2d0249dcfe575e71da54f9dcf4a8bdf89c4cb9a68a1170d73f", size = 74718 }, - { url = "https://files.pythonhosted.org/packages/bf/bb/d552bfe47db02fcfc950fc563073a33500f8108efa5f7b41db2f83a59028/wrapt-1.17.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc78a84e2dfbc27afe4b2bd7c80c8db9bca75cc5b85df52bfe634596a1da846b", size = 82590 }, - { url = "https://files.pythonhosted.org/packages/77/99/77b06b3c3c410dbae411105bf22496facf03a5496bfaca8fbcf9da381889/wrapt-1.17.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ba0f0eb61ef00ea10e00eb53a9129501f52385c44853dbd6c4ad3f403603083f", size = 81462 }, - { url = "https://files.pythonhosted.org/packages/2d/21/cf0bd85ae66f92600829ea1de8e1da778e5e9f6e574ccbe74b66db0d95db/wrapt-1.17.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1e1fe0e6ab7775fd842bc39e86f6dcfc4507ab0ffe206093e76d61cde37225c8", size = 74309 }, - { url = "https://files.pythonhosted.org/packages/6d/16/112d25e9092398a0dd6fec50ab7ac1b775a0c19b428f049785096067ada9/wrapt-1.17.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c86563182421896d73858e08e1db93afdd2b947a70064b813d515d66549e15f9", size = 81081 }, - { url = "https://files.pythonhosted.org/packages/2b/49/364a615a0cc0872685646c495c7172e4fc7bf1959e3b12a1807a03014e05/wrapt-1.17.2-cp39-cp39-win32.whl", hash = "sha256:f393cda562f79828f38a819f4788641ac7c4085f30f1ce1a68672baa686482bb", size = 36423 }, - { url = "https://files.pythonhosted.org/packages/00/ad/5d2c1b34ba3202cd833d9221833e74d6500ce66730974993a8dc9a94fb8c/wrapt-1.17.2-cp39-cp39-win_amd64.whl", hash = "sha256:36ccae62f64235cf8ddb682073a60519426fdd4725524ae38874adf72b5f2aeb", size = 38772 }, - { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594 }, -] - [[package]] name = "zipp" version = "3.20.2" From c4fdd5809e5256140434d0f61af9f72120de8a2a Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Wed, 2 Apr 2025 17:45:22 +0500 Subject: [PATCH 2/7] add CHANGELOG entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ccccc79370..cf0b6e63017 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ([#4521](https://github.com/open-telemetry/opentelemetry-python/pull/4521)) - opentelemetry-sdk: Fix serialization of objects in log handler ([#4528](https://github.com/open-telemetry/opentelemetry-python/pull/4528)) +- Use PEP702 for marking deprecations + ([#4522](https://github.com/open-telemetry/opentelemetry-python/pull/4522)) ## Version 1.31.0/0.52b0 (2025-03-12) From 8597734eabc7d2ba8793c1b1de678e9d5cdae923 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Wed, 9 Apr 2025 13:20:49 +0500 Subject: [PATCH 3/7] bump typing-extensions to 4.5.0 in opentelemetry-sdk --- opentelemetry-sdk/pyproject.toml | 2 +- uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/opentelemetry-sdk/pyproject.toml b/opentelemetry-sdk/pyproject.toml index 220ab2d07d8..d62de918e43 100644 --- a/opentelemetry-sdk/pyproject.toml +++ b/opentelemetry-sdk/pyproject.toml @@ -30,7 +30,7 @@ classifiers = [ dependencies = [ "opentelemetry-api == 1.32.0.dev", "opentelemetry-semantic-conventions == 0.53b0.dev", - "typing-extensions >= 3.7.4", + "typing-extensions >= 4.5.0", ] [project.entry-points.opentelemetry_environment_variables] diff --git a/uv.lock b/uv.lock index 0b1a238c752..bb85803a74e 100644 --- a/uv.lock +++ b/uv.lock @@ -449,7 +449,7 @@ dependencies = [ requires-dist = [ { name = "opentelemetry-api", editable = "opentelemetry-api" }, { name = "opentelemetry-semantic-conventions", editable = "opentelemetry-semantic-conventions" }, - { name = "typing-extensions", specifier = ">=3.7.4" }, + { name = "typing-extensions", specifier = ">=4.5.0" }, ] [[package]] From 77de71701f67099bd9dc8fafa01d45256dac421c Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Wed, 9 Apr 2025 13:25:08 +0500 Subject: [PATCH 4/7] regenerate semconv --- .../_incubating/attributes/feature_flag_attributes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/feature_flag_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/feature_flag_attributes.py index 1a48c3eda53..c5a4697eb71 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/feature_flag_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/feature_flag_attributes.py @@ -15,7 +15,7 @@ from enum import Enum from typing import Final -from deprecated import deprecated +from typing_extensions import deprecated FEATURE_FLAG_CONTEXT_ID: Final = "feature_flag.context.id" """ @@ -75,8 +75,8 @@ @deprecated( - reason="The attribute feature_flag.evaluation.reason is deprecated - Replaced by `feature_flag.result.reason`" -) # type: ignore + "The attribute feature_flag.evaluation.reason is deprecated - Replaced by `feature_flag.result.reason`" +) class FeatureFlagEvaluationReasonValues(Enum): STATIC = "static" """The resolved value is static (no dynamic evaluation).""" From aa65ada83cfabd23625559f9aa68baf5970ab46c Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Sun, 13 Apr 2025 22:20:26 +0500 Subject: [PATCH 5/7] Update CHANGELOG.md --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 413df6d26ff..c3088c12eeb 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 +- Use PEP702 for marking deprecations + ([#4522](https://github.com/open-telemetry/opentelemetry-python/pull/4522)) + ## Version 1.32.0/0.53b0 (2025-04-10) - Fix user agent in OTLP HTTP metrics exporter @@ -27,8 +30,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ([#4521](https://github.com/open-telemetry/opentelemetry-python/pull/4521)) - opentelemetry-sdk: Fix serialization of objects in log handler ([#4528](https://github.com/open-telemetry/opentelemetry-python/pull/4528)) -- Use PEP702 for marking deprecations - ([#4522](https://github.com/open-telemetry/opentelemetry-python/pull/4522)) ## Version 1.31.0/0.52b0 (2025-03-12) From ae6e0e78c4c38040293e99b6041ff80b91864940 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Wed, 14 May 2025 19:33:19 +0000 Subject: [PATCH 6/7] fix merge conflict --- .../semconv/_incubating/attributes/db_attributes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py index f46e1449e14..7f58cb2da02 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/_incubating/attributes/db_attributes.py @@ -504,8 +504,8 @@ class DbSystemValues(Enum): @deprecated( - reason="Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.db_attributes.DbSystemNameValues`." -) # type: ignore + "Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.db_attributes.DbSystemNameValues`." +) class DbSystemNameValues(Enum): OTHER_SQL = "other_sql" """Some other SQL database. Fallback only.""" From e5536edbc62506bc9fac44965b9c2511f4452547 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Thu, 15 May 2025 11:03:08 +0500 Subject: [PATCH 7/7] fix pre-commit, ignore deprecated warning --- .../exporter/otlp/proto/http/metric_exporter/__init__.py | 2 +- opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py index 4c84b2866f4..1bdcc13c16a 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py @@ -28,8 +28,8 @@ ) import requests -from typing_extensions import deprecated from requests.exceptions import ConnectionError +from typing_extensions import deprecated from opentelemetry.exporter.otlp.proto.common._internal import ( _create_exp_backoff_generator, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py index 9038d51334d..83caa2baac8 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# type: ignore[reportDeprecated] # ResourceAttributes is deprecated + """ This package implements `OpenTelemetry Resources `_: