Technologies Supported by the EDOT Python SDK
EDOT Collector / Elastic Stack versions
EDOT Python sends data via the OpenTelemetry protocol (OTLP). While OTLP ingest works with later 8.16+ versions of the EDOT Collector, for full support it is strongly recommended that you use either EDOT Collector versions 9.x or Elastic Cloud Serverless for OTLP ingest.
Ingesting data from EDOT SDKs through EDOT Collector 9.x into Elastic Stack versions 8.18+ is supported .
See EDOT SDKs compatibility for support details.
Python versions
The following Python versions are supported:
3.8
3.9
3.10
3.11
3.12
3.13
This follows the OpenTelemetry Python Version Support .
Instrumentations
We don’t install instrumentations by default and we suggest to use our edot-bootstrap command to automatically install the available instrumentations.
Name
Packages instrumented
Semantic conventions status
elastic-opentelemetry-instrumentation-openai
openai >= 1.2.0
development
opentelemetry-instrumentation-aio-pika
aio_pika >= 7.2.0, < 10.0.0
development
opentelemetry-instrumentation-aiohttp-client
aiohttp ~= 3.0
migration
opentelemetry-instrumentation-aiohttp-server
aiohttp ~= 3.0
development
opentelemetry-instrumentation-aiokafka
aiokafka >= 0.8, < 1.0
development
opentelemetry-instrumentation-aiopg
aiopg >= 0.13.0, < 2.0.0
development
opentelemetry-instrumentation-asgi
asgiref ~= 3.0
migration
opentelemetry-instrumentation-asyncio
asyncio
development
opentelemetry-instrumentation-asyncpg
asyncpg >= 0.12.0
development
opentelemetry-instrumentation-aws-lambda
development
opentelemetry-instrumentation-boto
boto~=2.0
development
opentelemetry-instrumentation-boto3sqs
boto3 ~= 1.0
development
opentelemetry-instrumentation-botocore
botocore ~= 1.0
development
opentelemetry-instrumentation-cassandra
cassandra-driver ~= 3.25,scylla-driver ~= 3.25
development
opentelemetry-instrumentation-celery
celery >= 4.0, < 6.0
development
opentelemetry-instrumentation-click
click >= 8.1.3, < 9.0.0
development
opentelemetry-instrumentation-confluent-kafka
confluent-kafka >= 1.8.2, <= 2.7.0
development
opentelemetry-instrumentation-dbapi
dbapi
development
opentelemetry-instrumentation-django
django >= 1.10
development
opentelemetry-instrumentation-elasticsearch
elasticsearch >= 6.0
development
opentelemetry-instrumentation-falcon
falcon >= 1.4.1, < 5.0.0
migration
opentelemetry-instrumentation-fastapi
fastapi ~= 0.58
migration
opentelemetry-instrumentation-flask
flask >= 1.0
migration
opentelemetry-instrumentation-grpc
grpcio >= 1.42.0
development
opentelemetry-instrumentation-httpx
httpx >= 0.18.0
migration
opentelemetry-instrumentation-jinja2
jinja2 >= 2.7, < 4.0
development
opentelemetry-instrumentation-kafka-python
kafka-python >= 2.0, < 3.0,kafka-python-ng >= 2.0, < 3.0
development
opentelemetry-instrumentation-logging
logging
development
opentelemetry-instrumentation-mysql
mysql-connector-python >= 8.0, < 10.0
development
opentelemetry-instrumentation-mysqlclient
mysqlclient < 3
development
opentelemetry-instrumentation-pika
pika >= 0.12.0
development
opentelemetry-instrumentation-psycopg
psycopg >= 3.1.0
development
opentelemetry-instrumentation-psycopg2
psycopg2 >= 2.7.3.1,psycopg2-binary >= 2.7.3.1
development
opentelemetry-instrumentation-pymemcache
pymemcache >= 1.3.5, < 5
development
opentelemetry-instrumentation-pymongo
pymongo >= 3.1, < 5.0
development
opentelemetry-instrumentation-pymssql
pymssql >= 2.1.5, < 3
development
opentelemetry-instrumentation-pymysql
PyMySQL < 2
development
opentelemetry-instrumentation-pyramid
pyramid >= 1.7
development
opentelemetry-instrumentation-redis
redis >= 2.6
development
opentelemetry-instrumentation-remoulade
remoulade >= 0.50
development
opentelemetry-instrumentation-requests
requests ~= 2.0
migration
opentelemetry-instrumentation-sqlalchemy
sqlalchemy >= 1.0.0, < 2.1.0
development
opentelemetry-instrumentation-sqlite3
sqlite3
development
opentelemetry-instrumentation-starlette
starlette >= 0.13, <0.15
development
opentelemetry-instrumentation-system-metrics
psutil >= 5
development
opentelemetry-instrumentation-threading
threading
development
opentelemetry-instrumentation-tornado
tornado >= 5.1.1
development
opentelemetry-instrumentation-tortoiseorm
tortoise-orm >= 0.17.0
development
opentelemetry-instrumentation-urllib
urllib
migration
opentelemetry-instrumentation-urllib3
urllib3 >= 1.0.0, < 3.0.0
migration
opentelemetry-instrumentation-vertexai
google-cloud-aiplatform >= 1.64
development
opentelemetry-instrumentation-wsgi
wsgi
migration
The semantic conventions status tracks the stabilization of the semantic conventions used in the instrumentation:
stable, means they are stable and are not expected to change
development, means they are not stable yet and they may change in the future
migration, means there may be configuration knobs to switch between different semantic conventions
Native Elasticsearch instrumentation
Some libraries like the Python Elasticsearch Client
natively supports OpenTelemetry instrumentation.
The elasticsearch package got native OpenTelemetry support since version 8.13.
LLM instrumentations
We can instrument the following LLM (Large Language Model) libraries with instrumentations implementing the OpenTelemetry GenAI Semantic Conventions :
Support for sync and async chat completions create API and embeddings API.
Support for Bedrock Runtime InvokeModel , InvokeModelWithResponseStream , Converse and ConverseStream APIs. A subset of models are traced in InvokeModel and InvokeModelWithStreaming API, see botocore instrumentation .
Instrumentation supports tracing and sending events for synchronous API calls, and currently doesn’t support async APIs and streaming calls yet.
Configuration
These instrumentations implement the following configuration options:
Option
default
description
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT
false
If set to true
, enables the capturing of request and response content in the log events outputted by the agent.