skillfed

jaeger-client

Jaeger Python OpenTracing Tracer implementation

jaeger-client v4.8.0 226.9K downloads/30d#9,193 on PyPI409
Permissive license Apache License 2.0 Abandoned released

What it is and what it does

Jaeger-client is a Python OpenTracing implementation that lets you instrument applications to emit distributed traces—recording the flow of requests across services—and send them to a Jaeger backend for visualization and analysis. It provides a Config-based initialization pattern, support for sampling strategies, span logging, and optional Prometheus metrics integration. The library handles the mechanics of trace propagation via HTTP headers and can work with Zipkin-compatible backends.

However, this package is deprecated and no longer maintained. The project's maintainers explicitly recommend migrating to OpenTelemetry instead. The last release was in September 2021, and the repository has been archived. While it may still work with older Jaeger deployments, it receives no updates, security patches, or support.

Use it for:

  • Instrumenting legacy Python applications already running Jaeger backends that have not yet migrated to OpenTelemetry.
  • Adding distributed tracing to existing codebases where OpenTelemetry migration is not yet feasible.
  • Testing or debugging trace collection in development environments using Jaeger's all-in-one Docker image.
  • Integrating with frameworks like Django or Flask via the OpenTracing instrumentation ecosystem for request-level tracing.

Worth the install?

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

Jaeger-client instruments Python applications for distributed tracing and sends trace data to Jaeger, implementing the OpenTracing API for trace collection and reporting.

No. This package is explicitly deprecated and abandoned. The maintainers urge all users to migrate to OpenTelemetry. No new releases are planned, the repository is archived, and the last commit was over 1795 days ago. Install only if you are maintaining legacy code that cannot yet migrate and your Jaeger backend still accepts this client's spans; otherwise, use OpenTelemetry.

Install

jaeger-client on PyPI

pip

pip install jaeger-client

uv

uv add jaeger-client

poetry

poetry add jaeger-client

Installing jaeger-client

Before you install

High install friction: the package is abandoned as of 2021-09-14 with no new releases planned. The repository is archived and the maintainers explicitly urge migration to OpenTelemetry. Last commit was 2022-07-10, over 1795 days ago. Do not use for new projects.

License in practice

Apache License 2.0 (permissive) allows commercial and private use with minimal restrictions, but this is moot given the package's deprecated status and lack of maintenance.

Quickstart

pip install jaeger-client==4.8.0

from jaeger_client import Config

config = Config(
    config={'sampler': {'type': 'const', 'param': 1}},
    service_name='my-app',
    validate=True
)
tracer = config.initialize_tracer()
with tracer.start_span('MySpan') as span:
    span.log_kv({'event': 'test'})
tracer.close()

Requires a running Jaeger agent or backend to receive spans; without it, spans are buffered but not delivered. Do not initialize the tracer during module import to avoid deadlock.

Verify before relying

  • Whether existing Jaeger deployments still accept spans from this client or have moved to OpenTelemetry-only ingestion.
  • Compatibility of this client with current Jaeger server versions.
  • Whether security patches or critical bug fixes are available outside the official repository.

Package facts

License Apache License 2.0 (permissive)
Python support supports the current Python release (>=3.7)
Install friction high — source build required
Runtime dependencies none
Maintenance abandoned — 1,795 days since the last release
Last repo commit (repository archived)
First released
Downloads 226,858/month — #9,193 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jaeger-client-4.8.0.tar.gz

Keywords: jaeger, tracing, opentracing

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

distributed tracing pythonjaeger tracing clientopentracing implementationtrace instrumentationspan collection and reportingmicroservice tracingrequest tracing
deprecateddistributed-tracingopentracing

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-propagator-jaeger

Provides trace context propagation for the…

permissive · top 5,000 on PyPI

opentracing

Provides the OpenTracing API for Python,…

permissive · top 5,000 on PyPI

nucliadb-telemetry

Adds distributed tracing to FastAPI, gRPC, and…

permissive · top 15,000 on PyPI

opencensus

OpenCensus provides distributed tracing and…

permissive · top 1,000 on PyPI

azure-core-tracing-opentelemetry

Integrates Azure SDK clients with OpenTelemetry…

unclear · top 5,000 on PyPI

opentelemetry-exporter-jaeger-proto-grpc

Exports OpenTelemetry tracing data to Jaeger…

permissive · top 15,000 on PyPI

opentelemetry-exporter-jaeger-thrift

Exports OpenTelemetry tracing data to Jaeger…

permissive · top 15,000 on PyPI

keke

Writes trace events in Perfetto/Chrome trace…

permissive · top 15,000 on PyPI

ddtrace

ddtrace instruments Python applications to send…

permissive · top 1,000 on PyPI

kestra

Provides a Python client to interact with…

permissive · top 5,000 on PyPI