OpenTelemetry Python SDK
The OpenTelemetry Python SDK provides APIs and implementations for collecting, processing, and exporting telemetry data such as traces and metrics. Current version: 1.40.0, released on March 4, 2026. The SDK follows a regular release cadence, with minor versions introducing new features and patch versions addressing bug fixes and improvements.
Warnings
- breaking In version 1.40.0, the 'LoggingHandler' has been deprecated in favor of 'opentelemetry-instrumentation-logging'.
- breaking The 'start_span' and 'start_as_current_span' methods in 'NoOpTracer' no longer return 'INVALID_SPAN' when a valid span context is present.
Install
-
pip install opentelemetry-sdk
Imports
- TracerProvider
from opentelemetry.sdk.trace import TracerProvider
- ConsoleSpanExporter
from opentelemetry.sdk.trace.export import ConsoleSpanExporter
Quickstart
import os
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor, ConsoleSpanExporter
# Set up the tracer provider
trace.set_tracer_provider(TracerProvider())
# Set up the exporter
console_exporter = ConsoleSpanExporter()
span_processor = BatchSpanProcessor(console_exporter)
trace.get_tracer_provider().add_span_processor(span_processor)
# Get a tracer
tracer = trace.get_tracer(__name__)
# Create a span
with tracer.start_as_current_span("example-span"):
print("Hello, OpenTelemetry!")