Install & Compatibility
Where this runs
tested against v1.81.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 42.4MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.3s · import 0.000s · 39MB
42MB installed
● package 42MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
OpenTelemetryPlugin
✓ from grpc_observability import OpenTelemetryPlugin
✗ from grpc_opentelemetry import OpenTelemetryClientInterceptor
Minimal setup for tracing gRPC calls with console export.
import grpc
from grpc_opentelemetry import OpenTelemetryServerInterceptor, OpenTelemetryClientInterceptor
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
# Set up tracer provider and exporter
trace.set_tracer_provider(TracerProvider())
trace.get_tracer_provider().add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))
# Create interceptors
server_interceptor = OpenTelemetryServerInterceptor(trace.get_tracer(__name__))
client_interceptor = OpenTelemetryClientInterceptor(trace.get_tracer(__name__))
# Use with gRPC server/server
# server = grpc.server(futures.ThreadPoolExecutor(), interceptors=[server_interceptor])
# stub = ... with interceptor
Upgrade
Version history
1.81.1latest on PyPI · released Jun 11, 2026
Audit
Dependencies
grpciorequiredcore gRPC library required
opentelemetry-apirequiredOpenTelemetry API for observability
opentelemetry-sdkoptionalOpenTelemetry SDK for exporting traces
opentelemetry-exporter-otlpoptionalexport traces via OTLP