hush-telemetry
External tracing backends for Hush workflows — Langfuse, OpenTelemetry, and local visualization.
Installation
pip install hush-telemetry # Langfuse + HushEyes (default)
pip install "hush-telemetry[otel]" # + OpenTelemetry
pip install "hush-telemetry[all]" # Everything
Quick Start
from hush.core import Hush, GraphOp, START, END
from hush.telemetry import LangfuseTracer
with GraphOp(name="demo") as graph:
# ... define ops
pass
tracer = LangfuseTracer(resource="langfuse:default", tags=["prod"])
engine = Hush(graph, tracer=tracer)
result = await engine.run(inputs={...})
# Traces automatically sent to Langfuse
Supported Backends
| Backend | Tracer Class | Description |
|---|---|---|
| HushEyes | HushEyesTracer |
Local trace viewer (SQLite, http://localhost:8420) |
| Langfuse | LangfuseTracer |
LLM observability platform (custom HTTP, no SDK) |
| OpenTelemetry | OTELTracer |
Vendor-neutral (Jaeger, Zipkin, Tempo, etc.) |
Usage Patterns
from hush.telemetry import HushEyesTracer, LangfuseTracer, LangfuseConfig
# Local visualization
tracer = HushEyesTracer(tags=["dev"])
# Langfuse with ResourceHub
tracer = LangfuseTracer(resource="langfuse:default")
# Langfuse with direct config
tracer = LangfuseTracer(config=LangfuseConfig.from_env())
# Multiple tracers at once
engine = Hush(graph, tracer=[HushEyesTracer(), LangfuseTracer(resource="langfuse:default")])
Configuration
# resources.yaml
tracer:
langfuse:
public_key: ${LANGFUSE_PUBLIC_KEY}
secret_key: ${LANGFUSE_SECRET_KEY}
host: https://cloud.langfuse.com
Features
- Hierarchical tracing — pre-computed TraceNode tree with parent-child relationships
- Token/cost tracking — automatic for LLM ops
- Stream sampling — cap trace items per generator (default: 100)
- Background flushing — non-blocking, ThreadPoolExecutor-based
- No SDK dependency — Langfuse uses custom HTTP client (pure REST API)
Related Packages
| Package | Description |
|---|---|
| hush-icore | Core engine with built-in LocalTracer |
| hush-eyes | Standalone trace visualization server |
License
Apache 2.0
Metadata
Release files for hush-telemetry 0.1.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hush_telemetry-0.1.18.tar.gz | 21.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hush_telemetry-0.1.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.2 kB
Release files / hush_telemetry-0.1.18.tar.gz
| Download URL | hush_telemetry-0.1.18.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9883f1435793d6f243a5faca0cdf0e3dfab05dc8eca0fe8c674108cccbc998dc
|
|
BLAKE2b-256 checksum How to use checksums |
a17ced0f24c21dcd2d8ac04e74d19b49e2394c6dc1acad577643d581913aabb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / hush_telemetry-0.1.18-py3-none-any.whl
| Download URL | hush_telemetry-0.1.18-py3-none-any.whl |
|---|---|
| Size | 29.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21afdf0532ed5626ce9d153364008e6d6e15513d1408a6b55792536262eb074f
|
|
BLAKE2b-256 checksum How to use checksums |
54d39f96d33cf7e2257e303b79a0de7db190a7c7ac3412cb254edbc151f5a4e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|