jaeger-client
Jaeger Python OpenTracing Tracer implementation
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- High install friction: the package is abandoned as of 2021-09-14 with no new releases planned.
License · maintenance · safety
Apache License 2.0 (permissive) — 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.
last release 2021-09-14 (1795 days) · last repo commit 2022-07-10 · 409 stars · archived
0 known vulnerabilities (OSV.dev, 2026-08-14) · 226,858 downloads/mo, #9,193 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on it.
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
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.
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.
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()
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 |
| Classifiers | 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 |
Evidence: jaeger-client-4.8.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jaeger tracing client”
- jaeger-clientJaeger-client instruments Python applications for distributed tracing…
- nucliadb-telemetryAdds distributed tracing to FastAPI, gRPC, and NATS services,…
- opentelemetry-exporter-jaeger-thriftExports OpenTelemetry tracing data to Jaeger using the Thrift…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also opentelemetry-propagator-jaeger · opentracing · nucliadb-telemetry · opencensus · azure-core-tracing-opentelemetry · opentelemetry-exporter-jaeger-proto-grpc · opentelemetry-exporter-jaeger-thrift · keke · ddtrace · kestra