Observability, tracing, and telemetry framework for Hush
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hush_telemetry-0.1.11.tar.gz
(17.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hush_telemetry-0.1.11.tar.gz.
File metadata
- Download URL: hush_telemetry-0.1.11.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa2b8d4abc3301948f294b26e55f9b77722e377890d622d6a3b5ac3ab81a997b
|
|
| MD5 |
9cf1bb8bd6b00e5baae66ba651ae0acb
|
|
| BLAKE2b-256 |
5b564029927aceacaaafacc0f5f83c44daf4f94cc96ec3e3e6bb7f47a05f8c2d
|
File details
Details for the file hush_telemetry-0.1.11-py3-none-any.whl.
File metadata
- Download URL: hush_telemetry-0.1.11-py3-none-any.whl
- Upload date:
- Size: 24.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2f783dd7ca4e4da3544c2a6e2c9088ae35a6bc6006afb0ff95620958fcaa084
|
|
| MD5 |
06cba88f6812c72cc52fb27040383888
|
|
| BLAKE2b-256 |
2fd022f4c23017c2bc4ca2c64a950f34738083ad599d41b5d6b91264066a6c83
|