From 5b9feb9b9d03fb47cd8ffc87e72ab683b4cf28a9 Mon Sep 17 00:00:00 2001 From: Phillip Verheyden Date: Wed, 3 Dec 2025 09:55:55 -0600 Subject: [PATCH 1/2] Fix the type hint of _metrics_data within InMemoryMetricReader This gets initialized to None, so the type hint should be MetricsData | None --- .../src/opentelemetry/sdk/metrics/_internal/export/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py index caba0e15fd..cdbad3e343 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py @@ -406,7 +406,7 @@ def __init__( preferred_aggregation=preferred_aggregation, ) self._lock = RLock() - self._metrics_data: MetricsData = None + self._metrics_data: MetricsData | None = None def get_metrics_data( self, From 604440acf90221b8c7bfdda5a74354385bb93201 Mon Sep 17 00:00:00 2001 From: Phillip Verheyden Date: Wed, 3 Dec 2025 09:58:22 -0600 Subject: [PATCH 2/2] Add CHANGELOG entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fa6d145d6..49891cc60d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +- `opentelemetry-sdk` - Fix the type hint of the `_metrics_data` property to allow `None` ([#4837](https://github.com/open-telemetry/opentelemetry-python/pull/4837) + ## Version 1.39.0/0.60b0 (2025-12-03) - `opentelemetry-api`: Convert objects of any type other than AnyValue in attributes to string to be exportable