opentelemetry-instrumentation
Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python
Decision gist · record as of 2026-08-14
Yes. This package is actively maintained, has no known vulnerabilities, uses a permissive license, and provides genuine value for observability in Python applications. Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment. The main condition is that your application must use libraries for which OpenTelemetry integrations exist; the package alone does not trace uninstrumented code.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- For full auto-instrumentation, you should also install opentelemetry-distro or a custom distro package to configure exporters and common options.
- Low install friction with a pure-Python wheel and four straightforward runtime dependencies.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions, requiring only license and copyright notice retention.
last release 2026-07-16 (29 days) · last repo commit 2026-08-13 · 1,086 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 393,536,009 downloads/mo, #109 on PyPI
Alternatives
Verify before relying
pip install opentelemetry-instrumentation
# Command-line auto-instrumentation:
opentelemetry-instrument --traces_exporter console python program.py
# Or programmatic initialization:
from opentelemetry.instrumentation import auto_instrumentation
auto_instrumentation.initialize()- Whether the package works with gevent applications beyond the experimental OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH option.
- Performance overhead of automatic instrumentation on large or latency-sensitive applications.
- Compatibility matrix with specific instrumentation packages and their versions.
What it is and what it does
OpenTelemetry Instrumentation is a toolset for automatically injecting distributed tracing into Python applications. It provides two main entry points: the `opentelemetry-bootstrap` command detects installed packages and suggests or installs matching instrumentation packages, and the `opentelemetry-instrument` command wraps your program to apply automatic tracing without requiring code modifications. You can also initialize instrumentation programmatically when command-line injection isn't feasible.
The package depends on opentelemetry-api, opentelemetry-semantic-conventions, packaging, and wrapt to detect active packages and apply instrumentation hooks. It supports multiple trace exporters (OTLP, Jaeger, Zipkin, OpenCensus) and metric exporters (OTLP, Prometheus), with configuration via CLI flags or environment variables. The instrumentation is only effective when your application uses packages for which OpenTelemetry integrations exist.
Use it for
- Add distributed tracing to an existing Flask or Django application by running it through opentelemetry-instrument without modifying source code.
- Detect which instrumentation packages your project needs by running opentelemetry-bootstrap to generate a requirements list.
- Instrument a Celery worker or other background task system to trace task execution across services.
- Configure multiple trace exporters (e.g., Zipkin and OTLP) to send traces to different backends simultaneously.
- Initialize auto-instrumentation in a containerized or serverless environment where you cannot modify the application startup command.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
This package is actively maintained, has no known vulnerabilities, uses a permissive license, and provides genuine value for observability in Python applications. Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment. The main condition is that your application must use libraries for which OpenTelemetry integrations exist; the package alone does not trace uninstrumented code.
Install
opentelemetry-instrumentation on PyPI
Before you install
Low install friction with a pure-Python wheel and four straightforward runtime dependencies. Actively maintained with a recent release and 1086 repository stars, indicating stable community backing.
Requires Python 3.10 or later. For full auto-instrumentation, you should also install opentelemetry-distro or a custom distro package to configure exporters and common options.
License in practice
Apache-2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
pip install opentelemetry-instrumentation
# Command-line auto-instrumentation:
opentelemetry-instrument --traces_exporter console python program.py
# Or programmatic initialization:
from opentelemetry.instrumentation import auto_instrumentation
auto_instrumentation.initialize()
Verify before relying
- Whether the package works with gevent applications beyond the experimental OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH option.
- Performance overhead of automatic instrumentation on large or latency-sensitive applications.
- Compatibility matrix with specific instrumentation packages and their versions.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesopentelemetry-apiopentelemetry-semantic-conventionspackagingwrapt |
| Maintenance | Actively maintained 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 393,536,009 / month, #109 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: opentelemetry_instrumentation-0.65b0-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 › “automatic distributed tracing”
- opentelemetry-instrumentationProvides automatic instrumentation commands and programmatic APIs to…
- opentelemetry-instrumentation-pyramidAdds automatic tracing and metrics collection to Pyramid web…
- opentelemetry-contrib-instrumentationsA meta-package that installs all OpenTelemetry instrumentation…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
See also aws-opentelemetry-distro · splunk-opentelemetry · opentelemetry-instrumentation-django · opentelemetry-instrumentation-redis · opencensus-ext-flask · opentelemetry-contrib-instrumentations · opencensus-ext-requests · opentelemetry-distro · pytest-opentelemetry