{"library":"opentelemetry-distro","title":"OpenTelemetry Python Distro","description":"OpenTelemetry Distro provides a mechanism to automatically configure some of the more common options for users, making OpenTelemetry and auto-instrumentation as quick as possible without sacrificing flexibility. It configures the SDK TracerProvider, a BatchSpanProcessor, and the OTLP SpanExporter to send data to an OpenTelemetry Collector. The current version is 0.61b0, and it is part of the `opentelemetry-python-contrib` project with frequent beta releases.","language":"python","status":"active","last_verified":"Tue May 12","install":{"commands":["pip install opentelemetry-distro[otlp] opentelemetry-instrumentation\nopentelemetry-bootstrap -a install"],"cli":{"name":"opentelemetry-bootstrap","version":""}},"imports":["opentelemetry-instrument python my_app.py"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport requests\nfrom flask import Flask\n\napp = Flask(__name__)\n\n@app.route(\"/hello\")\ndef hello_world():\n    return \"Hello, World!\"\n\n@app.route(\"/external\")\ndef call_external():\n    # This call should be traced automatically if requests is instrumented\n    response = requests.get(\"http://localhost:5001/hello\")\n    return f\"Called external service: {response.text}\"\n\nif __name__ == '__main__':\n    # Run this app with: opentelemetry-instrument python app.py\n    # Ensure an OpenTelemetry Collector is running on localhost:4317 or configure OTEL_EXPORTER_OTLP_ENDPOINT\n    # (e.g., docker run -p 4317:4317 -p 4318:4318 otel/opentelemetry-collector:latest --config=/etc/otel-collector-config.yaml)\n    # The collector config should include otlp receiver and a logging/debug exporter.\n    app.run(port=5001, debug=False, use_reloader=False)\n","lang":"python","description":"To quickly get started, install `opentelemetry-distro[otlp]` and then run `opentelemetry-bootstrap -a install` to automatically install instrumentations for detected libraries. Then, run your application using the `opentelemetry-instrument` wrapper script. This example demonstrates a simple Flask application that makes an HTTP request, which will be automatically traced. Ensure an OpenTelemetry Collector is running to receive telemetry data. For Flask/Django, set `use_reloader=False` (Flask) or use `--noreload` (Django) to avoid instrumentation issues.","tag":null,"tag_description":null,"last_tested":"2026-04-24","results":[{"runtime":"python:3.10-alpine","exit_code":2},{"runtime":"python:3.10-slim","exit_code":2},{"runtime":"python:3.11-alpine","exit_code":2},{"runtime":"python:3.11-slim","exit_code":2},{"runtime":"python:3.12-alpine","exit_code":2},{"runtime":"python:3.12-slim","exit_code":2},{"runtime":"python:3.13-alpine","exit_code":2},{"runtime":"python:3.13-slim","exit_code":2},{"runtime":"python:3.9-alpine","exit_code":2},{"runtime":"python:3.9-slim","exit_code":2}]},"compatibility":{"tag":"stale","tag_description":"widespread failures or data too old to trust","last_tested":"2026-05-12","installed_version":null,"pypi_latest":"0.62b1","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":5.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":4.9,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":"dependency_conflict","import_side_effects":null,"install_time_s":6.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"otlp","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}