skillfed

elastic-opentelemetry

Elastic Distribution of OpenTelemetry Python

elastic-opentelemetry v1.15.0 94.7K downloads/30d#13,313 on PyPI15
Permissive license Apache-2.0 Active released

What it is and what it does

Elastic OpenTelemetry Python (EDOT Python) is a pre-configured distribution of OpenTelemetry Python designed to simplify observability adoption while maintaining full compatibility with OpenTelemetry standards. It bundles tracing and metrics collection with sensible defaults—such as pre-selecting which sources to instrument—and includes Elastic-specific processors that optimize data export to Elastic Observability deployments. The package wraps 13 OpenTelemetry runtime dependencies including the core SDK, instrumentation libraries for system metrics and cloud providers (GCP, Azure, AWS), and the OTLP exporter, presenting them as a single installation.

The distribution aims to reduce setup friction for teams adopting observability in Python applications. It introduces no new concepts beyond OpenTelemetry itself, meaning developers familiar with the standard OpenTelemetry API can use it immediately. The package is actively maintained by Elastic and receives improvements before they land upstream, though it remains in Alpha status (Development Status 3). It supports Python 3.10 through 3.14 and is classified as Typed.

Use it for:

  • Set up distributed tracing and metrics collection in a Python application with minimal configuration, using Elastic Observability as the backend.
  • Migrate from a proprietary APM agent to OpenTelemetry while maintaining compatibility with Elastic's observability platform.
  • Instrument microservices running on GCP, Azure, or AWS with automatic resource detection and cloud-provider-specific context.
  • Collect system metrics (CPU, memory, disk) alongside application traces in a single observability pipeline.
  • Evaluate OpenTelemetry in a Python project without manually assembling and configuring individual instrumentation packages.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Elastic's customized distribution of OpenTelemetry Python that bundles tracing and metrics instrumentation with Elastic-specific processors and sensible defaults for sending observability data to Elastic backends.

Yes, if you are adopting OpenTelemetry in Python and plan to export to Elastic Observability. The package eliminates manual dependency assembly and provides Elastic-optimized defaults out of the box. Install with caution in production given its Alpha status; verify that Elastic-specific processors meet your requirements and that performance is acceptable for your workload. No known security vulnerabilities as of the fact sheet date.

Install

elastic-opentelemetry on PyPI

pip

pip install elastic-opentelemetry

uv

uv add elastic-opentelemetry

poetry

poetry add elastic-opentelemetry

Installing elastic-opentelemetry

Before you install

Low install friction with a pure-Python wheel. Active maintenance with a recent release (24 days old) and ongoing commits. Depends on 13 OpenTelemetry packages and related utilities, all standard observability libraries.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most production environments.

Quickstart

pip install elastic-opentelemetry

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider

trace.set_tracer_provider(TracerProvider())
tracer = trace.get_tracer(__name__)

Requires Python 3.10 or later; intended for applications already using or adopting OpenTelemetry.

Verify before relying

  • Whether Elastic-specific processors are automatically applied or require explicit configuration beyond standard OpenTelemetry setup.
  • Performance overhead compared to upstream OpenTelemetry Python when not exporting to Elastic backends.
  • Frequency and scope of bug fixes and improvements claimed to arrive before upstream OpenTelemetry releases.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 13 — opentelemetry-api, opentelemetry-exporter-otlp, opentelemetry-instrumentation, opentelemetry-instrumentation-system-metrics, opentelemetry-resourcedetector-gcp, opentelemetry-resource-detector-azure, opentelemetry-resource-detector-containerid, opentelemetry-sdk, opentelemetry-sdk-extension-aws, opentelemetry-semantic-conventions, opentelemetry-opamp-client, packaging, uuid-utils
Maintenance actively maintained — 24 days since the last release
Last repo commit
First released
Downloads 94,700/month — #13,313 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: elastic_opentelemetry-1.15.0-py3-none-any.whl

Development Status :: 3 - AlphaFramework :: OpenTelemetryFramework :: OpenTelemetry :: DistrosIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed

Tags

opentelemetry python distributionelastic observability instrumentationdistributed tracing pythonmetrics collection pythonotel elastic integrationapplication performance monitoring pythonobservability sdk python
observabilityopentelemetrydistributed-tracing

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation-celery

Adds distributed tracing and observability to…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-elasticsearch

Adds distributed tracing to Elasticsearch…

permissive · top 5,000 on PyPI

elastic-apm

Elastic APM is the official Python agent for…

permissive · top 5,000 on PyPI

aiobotocore-otel

Adds distributed tracing to aiobotocore AWS API…

permissive · top 15,000 on PyPI

opentelemetry-instrumentation-remoulade

Adds distributed tracing instrumentation for…

permissive · top 5,000 on PyPI

coralogix-opentelemetry

Provides OpenTelemetry extensions for Python…

unclear · top 15,000 on PyPI

opentelemetry-instrumentation-jinja2

Adds OpenTelemetry tracing instrumentation to…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-lancedb

Adds distributed tracing instrumentation for…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-aiohttp-client

Adds distributed tracing to HTTP requests made…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation-logging

Integrates Python's standard logging module…

permissive · top 1,000 on PyPI