tracepad
The Python package for Tracepad — LLM observability and evals in a single binary: traces, prompts, datasets and scores for LLM and agent applications, self-hosted.
It is a thin layer over the OpenTelemetry SDK: it owns no transport, no
batching and no context propagation, and it wraps no provider client.
Everything it does is reachable with opentelemetry-sdk and curl — this is
the one line that points an application at the store, and the ten lines after
it that a person writes the same way every time.
pip install tracepad
Python 3.10+. Two dependencies: opentelemetry-sdk and
opentelemetry-exporter-otlp-proto-http.
Point an application at a store
import tracepad
tracepad.init() # or init(host="http://localhost:4318", key="tp-sk-…")
TRACEPAD_URL and TRACEPAD_API_KEY are the two variables it reads;
TRACEPAD_ENVIRONMENT, TRACEPAD_RELEASE and TRACEPAD_EXPORT_TIMEOUT are the
ones it can also use. If
the application already has a TracerProvider — FastAPI instrumentation,
another SDK — init adds an exporter to it rather than replacing it.
Three lines
@tracepad.observe # a span, with the arguments and the return value
def answer(question: str) -> str:
tracepad.update_trace(user_id="u-42", tags=["support"])
with tracepad.generation("chat", model="gpt-4o-mini") as call:
response = client.chat.completions.create(model="gpt-4o-mini", messages=…)
call.end(response=response) # model, usage, and the cost as charged
tracepad.score("helpful", 1) # against the trace in flight
return response.choices[0].message.content
A prompt by label, cached for as long as the server says and served stale when the server is away:
support = tracepad.prompt("support-answer", label="production")
messages = support.compile(product="Tracepad")
What it does not do
No provider-client wrapper and no auto-instrumentation: OpenLLMetry and the OpenTelemetry GenAI instrumentations are the answer there, and they work because the transport is shared. No price table either — the cost recorded is the one the provider charged, and what cannot be read is not sent.
Full documentation: docs/sdk-python.md.
Apache-2.0.
Metadata
Release files for tracepad 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tracepad-0.1.0.tar.gz | 76.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tracepad-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 124.5 kB
Release files / tracepad-0.1.0.tar.gz
| Download URL | tracepad-0.1.0.tar.gz |
|---|---|
| Size | 76.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0c18b716214e0b85dfb47c5e4f731bceb40aa41162c3d3f27426a57fec9356d
|
|
BLAKE2b-256 checksum How to use checksums |
43f7b800822c783824efb639deac05dad341b6fcee6c5f9812f00c559c3abad4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / tracepad-0.1.0-py3-none-any.whl
| Download URL | tracepad-0.1.0-py3-none-any.whl |
|---|---|
| Size | 48.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8aef71f203fb06abf32c5b3d75977a00d7b672a78b9936c2932037bbe151411d
|
|
BLAKE2b-256 checksum How to use checksums |
60de9f1d142e70ec84ba958861654113a370ee38eb934740e3f7d5a7f04d5e50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|