--- id: otel-extensions version: "1.1.0" license: Apache-2.0 license_treatment: permissive maintenance: dormant --- # otel-extensions — Python extensions for OpenTelemetry License: permissive · Maintenance: dormant · Downloads: 238.0K/mo ## What it is and what it does otel-extensions is a thin wrapper around the OpenTelemetry Python SDK that reduces boilerplate for common tracing tasks. It provides a decorator-based API to wrap functions and async functions with automatic span creation, a helper class to initialize the global tracer provider from environment variables or explicit options, and utilities for propagating trace context across process and thread boundaries. The package is most useful when you want to instrument a Python application with distributed tracing but find the raw OpenTelemetry SDK verbose or repetitive. It handles OTLP endpoint configuration, span processor selection, and context attachment in a few lines of code, and its @instrumented decorator eliminates the need to manually call tracer.start_as_current_span() around every function you want to trace. Use it for: - Quickly add distributed tracing to a Python service by decorating functions with @instrumented and calling init_telemetry_provider() once at startup. - Propagate trace context across worker threads or subprocess calls using TraceContextCarrier without manually managing context variables. - Convert Python logging output into OpenTelemetry span events by attaching TraceEventLogHandler to your logger. - Configure OTLP exporter endpoint, protocol, and TLS certificate entirely through environment variables without code changes. - Instrument async functions and coroutines with automatic span wrapping using the same @instrumented decorator. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides helper classes, decorators, and functions to simplify setup and instrumentation of OpenTelemetry tracing in Python applications. Yes, if you are already using OpenTelemetry and want to reduce instrumentation boilerplate. The low install friction and permissive license make it a safe addition. However, note that maintenance is dormant (last release 662 days ago); if you need active support or compatibility with very recent OpenTelemetry SDK versions, verify compatibility first or consider maintaining a fork. ## Install pip install otel-extensions uv add otel-extensions poetry add otel-extensions ## Installing otel-extensions Before you install: Low install friction; pure Python wheel with only two runtime dependencies (opentelemetry-api and opentelemetry-sdk). Maintenance is dormant—last release was 662 days ago, though the repository remains active with a recent commit on 2024-10-21. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects. Quickstart: pip install otel-extensions from otel_extensions import init_telemetry_provider, instrumented init_telemetry_provider() @instrumented def my_function(): print("Hello World") Requires Python >= 3.8; opentelemetry-api and opentelemetry-sdk must be installed and configured with an OTLP endpoint or environment variables. Verify before relying: - Whether the package works with the latest opentelemetry-api and opentelemetry-sdk versions. - Performance characteristics when using batch vs. simple span processors at scale. - Support for async context propagation across thread boundaries beyond the documented examples. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 238.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags opentelemetry tracing helpers, otel instrumentation decorator, distributed tracing python, span creation utilities, telemetry provider initialization, trace context propagation, opentelemetry setup wrapper, observability, distributed-tracing, opentelemetry [View on SkillFed](https://skillfed.io/packages/otel-extensions) · [View on PyPI](https://pypi.org/project/otel-extensions/)