otel-extensions
Python extensions for OpenTelemetry
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.8; opentelemetry-api and opentelemetry-sdk must be installed and configured with an OTLP endpoint or environment variables.
- 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 · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2024-10-21 (662 days) · last repo commit 2024-10-21 · 13 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 238,046 downloads/mo, #8,948 on PyPI
Alternatives
Verify before relying
pip install otel-extensions
from otel_extensions import init_telemetry_provider, instrumented
init_telemetry_provider()
@instrumented
def my_function():
print("Hello World")- 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.
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 on this page. Verify before relying on it.
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
otel-extensions on PyPI
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.
Requires Python >= 3.8; opentelemetry-api and opentelemetry-sdk must be installed and configured with an OTLP endpoint or environment variables.
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")
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 the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesopentelemetry-apiopentelemetry-sdk |
| Maintenance | Dormant 662 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 238,046 / month, #8,948 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: LibrariesTopic :: Software Development :: TestingTopic :: Utilities |
Evidence: otel_extensions-1.1.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “opentelemetry tracing helpers”
- otel-extensionsProvides helper classes, decorators, and functions to simplify setup…
- opentelemetry-util-httpProvides ASGI and WSGI middleware and HTTP utilities for…
- opentelemetry-instrumentation-boto3sqsAdds distributed tracing to Boto3 SQS calls via OpenTelemetry,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also opentelemetry-instrumentation-threading · pyroscope-otel · opentelemetry-instrumentation-django · vercel-internal-telemetry · pytest-otel · opentelemetry-instrumentation-sklearn · otel-ci · opentelemetry-instrumentation-flask · azure-core-tracing-opentelemetry · opentelemetry-instrumentation-redis