# # spec file for package python-opentelemetry-sdk # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?sle15_python_module_pythons} Name: python-opentelemetry-sdk Version: 1.30.0 Release: 1.3 Summary: OpenTelemetry Python SDK License: Apache-2.0 URL: https://github.com/open-telemetry/opentelemetry-python Source: https://files.pythonhosted.org/packages/source/o/opentelemetry-sdk/opentelemetry_sdk-%{version}.tar.gz BuildRequires: %{python_module flaky} BuildRequires: %{python_module hatchling} BuildRequires: %{python_module opentelemetry-api = %{version}} BuildRequires: %{python_module opentelemetry-semantic-conventions = 0.51b0} BuildRequires: %{python_module opentelemetry-test-utils = 0.51b0} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module typing-extensions >= 3.7.4} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-opentelemetry-api = %{version} Requires: python-opentelemetry-semantic-conventions = 0.51b0 Requires: python-typing-extensions >= 3.7.4 BuildArch: noarch %python_subpackages %description OpenTelemetry Python SDK for the OpenTelemetry Project %prep %autosetup -p1 -n opentelemetry_sdk-%{version} %build %pyproject_wheel %install %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check rm -rvf tests/performance tests/trace/test_trace.py %pytest %files %{python_files} %license LICENSE %doc README.rst %{python_sitelib}/opentelemetry/sdk %{python_sitelib}/opentelemetry_sdk-%{version}.dist-info %changelog * Tue Feb 25 2025 Dirk Müller - update to 1.30.0: * Always setup logs sdk, OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED only controls python `logging` module handler setup * Add `attributes` field in `metrics.get_meter` wrapper function * Add Python 3.13 support * sdk: don't log or print warnings when the SDK has been disabled * Fix span context manager typing by using ParamSpec from typing_extensions * Fix serialization of None values in logs body to match 1.31.0+ data model * [BREAKING] semantic-conventions: Remove `opentelemetry.semcon v.attributes.network_attributes.NETWORK_INTERFACE_NAME` introduced by mistake in the wrong module. * Add support for explicit bucket boundaries advisory for Histograms * semantic-conventions: Bump to 1.30.0 * Wed Jan 8 2025 John Paul Adrian Glaubitz - Update to 1.29.0 * Fix crash exporting a log record with None body * Fix metrics export with exemplar and no context and filtering observable instruments * Fix recursion error with sdk disabled and handler added to root logger * sdk: setup EventLogger when OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED is set * api: fix logging of duplicate EventLogger setup warning * sdk: fix setting of process owner in ProcessResourceDetector * sdk: fix serialization of logs severity_number field to int * Remove `TestBase.assertEqualSpanInstrumentationInfo` method, use `assertEqualSpanInstrumentationScope` instead * sdk: instantiate lazily `ExemplarBucket`s in `ExemplarReservoir`s * semantic-conventions: Bump to 1.29.0 - from version 1.28.0 * Removed superfluous py.typed markers and added them where they were missing * Include metric info in encoding exceptions * sdk: Add support for log formatting * sdk: Add Host resource detector * sdk: Implementation of exemplars * Implement events sdk * Update semantic conventions to version 1.28.0 * Add support to protobuf 5+ and drop support to protobuf 3 and 4 * Update environment variable descriptions to match signal * Record logger name as the instrumentation scope name * Fix memory leak in exporter and reader * Drop `OTEL_PYTHON_EXPERIMENTAL_DISABLE_PROMETHEUS_UNIT_NORMALIZATION` environment variable * Improve compatibility with other logging libraries that override `LogRecord.getMessage()` in order to customize message formatting - Update BuildRequires and Requires from pyproject.toml * Mon Sep 2 2024 John Paul Adrian Glaubitz - Update to 1.27.0 * Implementation of Events API (#4054) * Make log sdk add `exception.message` to logRecord for exceptions whose argument is an exception not a string message (#4122) * Fix use of `link.attributes.dropped`, which may not exist (#4119) * Running mypy on SDK resources (#4053) * Added py.typed file to top-level module (#4084) * Drop Final annotation from Enum in semantic conventions (#4085) * Update log export example to not use root logger (#4090) * sdk: Add OS resource detector (#3992) * sdk: Accept non URL-encoded headers in `OTEL_EXPORTER_OTLP_*HEADERS` to match other languages SDKs (#4103) * Update semantic conventions to version 1.27.0 (#4104) * Add support to type bytes for OTLP AnyValue (#4128) * Export ExponentialHistogram and ExponentialHistogramDataPoint (#4134) * Implement Client Key and Certificate File Support for All OTLP Exporters (#4116) * Remove `_start_time_unix_nano` attribute from `_ViewInstrumentMatch` in favor of using `time_ns()` at the moment when the aggregation object is created (#4137) - from version 1.26.0 * Standardizing timeout calculation in measurement consumer collect to nanoseconds (#4074) * Optional scope attributes for logger creation (#4035) * Optional scope attribute for tracer creation (#4028) * OTLP exporter is encoding invalid span/trace IDs in the logs fix (#4006) * Update sdk process resource detector `process.command_args` attribute to also include the executable itself (#4032) * Fix `start_time_unix_nano` for delta collection for explicit bucket histogram aggregation (#4009) * Fix `start_time_unix_nano` for delta collection for sum aggregation (#4011) * Update opentracing and opencesus docs examples to not use JaegerExporter (#4023) * Do not execute Flask Tests in debug mode (#3956) * When encountering an error encoding metric attributes in the OTLP exporter, log the key that had an error. (#3838) * Fix `ExponentialHistogramAggregation` (#3978) * Log a warning when a `LogRecord` in `sdk/log` has dropped attributes due to reaching limits (#3946) * Fix RandomIdGenerator can generate invalid Span/Trace Ids (#3949) * Add Python 3.12 to tox (#3616) * Improve resource field structure for LogRecords (#3972) * Update Semantic Conventions code generation scripts: + Fix namespace exclusion that resulted in dropping `os` and `net` namespaces. + Add `Final` decorator to constants to prevent collisions + Enable mypy and fix detected issues + Allow to drop specific attributes in preparation for Semantic Conventions v1.26.0 (#3973) * Update semantic conventions to version 1.26.0. (#3964) * Use semconv exception attributes for record exceptions in spans (#3979) * Fix _encode_events assumes events.attributes.dropped exists (#3965) * Validate links at span creation (#3991) * Add attributes field in `MeterProvider.get_meter` and `InstrumentationScope` (#4015) * Fix inaccessible `SCHEMA_URL` constants in `opentelemetry-semantic-conventions` (#4069) - Update BuildRequires and Requires from pyproject.toml * Mon Jun 17 2024 Dirk Müller - update to 1.25.0: * Fix class BoundedAttributes to have RLock rather than Lock * Remove thread lock by loading RuntimeContext explicitly. * Update proto version to v1.2.0 * Add to_json method to ExponentialHistogram * Bump mypy to 1.9.0 * Fix exponential histograms * Fix otlp exporter to export log_record.observed_timestamp * Add capture the fully qualified type name for raised exceptions in spans * Prometheus exporter sort label keys to prevent duplicate metrics when user input changes order * Update semantic conventions to version 1.25.0. * Rename test objects to avoid pytest warnings * Add span flags to OTLP spans and links * Record links with invalid SpanContext if either attributes or TraceState are not empty * Add OpenTelemetry trove classifiers to PyPI packages * Fix prometheus metric name and unit conversion * Add parameters for Distros and configurators to configure autoinstrumentation in addition to existing environment variables. * Wed Apr 3 2024 Dirk Müller - update to 1.24.0: * Make create_gauge non-abstract method * Make `tracer.start_as_current_span()` decorator work with async functions * Fix python 3.12 deprecation warning * bump mypy to 0.982 * Add support for OTEL_SDK_DISABLED environment variable * Fix ValueError message for PeriodicExportingMetricsReader * Use `BaseException` instead of `Exception` in `record_exception` * Make span.record_exception more robust * Fix license field in pyproject.toml files * Tue Mar 26 2024 John Paul Adrian Glaubitz - Add missing python-wheel build dependency to BuildRequires * Sat Mar 23 2024 Jaime Marquínez Ferrándiz - update to 1.23.0: * Use Attribute rather than boundattribute in logrecord (#3567) * Fix flush error when no LoggerProvider configured for LoggingHandler (#3608) * Fix OTLPMetricExporter ignores preferred_aggregation property (#3603) * Logs: set observed_timestamp field (#3565) * Add missing Resource SchemaURL in OTLP exporters (#3652) * Fix loglevel warning text (#3566) * Prometheus Exporter string representation for target_info labels (#3659) * Logs: ObservedTimestamp field is missing in console exporter output (#3564) * Fix explicit bucket histogram aggregation (#3429) * Add code.lineno, code.function and code.filepath to all logs (#3645) * Add Synchronous Gauge instrument (#3462) * Drop support for 3.7 (#3668) * Include key in attribute sequence warning (#3639) * Upgrade markupsafe, Flask and related dependencies to dev and test environments (#3609) * Handle HTTP 2XX responses as successful in OTLP exporters (#3623) * Improve Resource Detector timeout messaging (#3645) * Add Proxy classes for logging (#3575) * Remove dependency on 'backoff' library (#3679) * Sat Mar 23 2024 Jaime Marquínez Ferrándiz - update to 1.23.0: * Use Attribute rather than boundattribute in logrecord (#3567) * Fix flush error when no LoggerProvider configured for LoggingHandler (#3608) * Fix OTLPMetricExporter ignores preferred_aggregation property (#3603) * Logs: set observed_timestamp field (#3565) * Add missing Resource SchemaURL in OTLP exporters (#3652) * Fix loglevel warning text (#3566) * Prometheus Exporter string representation for target_info labels (#3659) * Logs: ObservedTimestamp field is missing in console exporter output (#3564) * Fix explicit bucket histogram aggregation (#3429) * Add code.lineno, code.function and code.filepath to all logs (#3645) * Add Synchronous Gauge instrument (#3462) * Drop support for 3.7 (#3668) * Include key in attribute sequence warning (#3639) * Upgrade markupsafe, Flask and related dependencies to dev and test environments (#3609) * Handle HTTP 2XX responses as successful in OTLP exporters (#3623) * Improve Resource Detector timeout messaging (#3645) * Add Proxy classes for logging (#3575) * Remove dependency on 'backoff' library (#3679) * Thu Mar 7 2024 John Paul Adrian Glaubitz - Switch package to modern Python Stack on SLE-15 + Add %%{?sle15_python_module_pythons} * Thu Jan 4 2024 Dirk Müller - Initial package (1.22.0)