conduit-observability
The Python SDK for Conduit, secure, self-hosted observability for AI agents. It sends traces, logs and metrics from your agent to a Conduit gateway over gRPC with mutual TLS.
pip install conduit-observability
Requires Python 3.10 or newer, and a running Conduit gateway with a client certificate for your agent. See Deployment.
Quick start
Point it at your agent's certificates. A local stack from Conduit's
make quickstart writes them to deployments/quickstart/.conduit/certs:
export CONDUIT_CERT_DIR=/path/to/certs CONDUIT_AGENT=my-agent CONDUIT_GATEWAY_ADDR=localhost:4317
import conduit_observability as conduit
conduit.configure() # from CONDUIT_* variables; errors say what to fix
@conduit.traced() # a span per call; errors are recorded
def search(query): ...
with conduit.span("agent.run") as run:
search("conduit") # nested under agent.run
with conduit.span("llm.call") as llm:
msg = anthropic_client.messages.create(...)
llm.record_llm_call(conduit.llm_call_from_anthropic(msg)) # real token usage
run.set_ok()
For explicit control, use a Client: Client(addr, tls_cert=..., tls_key=..., tls_ca=...)
with client.span(...), client.log(...), client.gauge(...) and client.check().
What you get
- Two-line setup:
configure()reads a certificate directory from the environment and@tracedinstruments functions, sync or async. Misconfiguration fails with an error that says what to fix. - Real LLM usage:
llm_call_from_anthropic/llm_call_from_openairecord the model, tokens and cost from a provider response (install the[anthropic]or[openai]extra for the SDKs). - Spans that nest automatically. The current span is tracked with
contextvars, so nesting is correct across threads and asyncio tasks. - Errors recorded for you: an exception inside
with client.span(...)marks the span as an error, records the message, and propagates. - Logs (
client.log) linked to the current span, and metrics (client.gauge,client.counter). - Strict TLS: the gateway is verified against your CA only, never the system roots.
- Identity from your certificate: the gateway takes your agent's identity from the certificate's CommonName, so an attribute can't spoof it.
Documentation
- Python SDK guide: the full API, limits and delivery semantics.
- API reference: the wire protocol and validation limits.
- Source.
Licensed under Apache-2.0.
Metadata
Release files for conduit-observability 0.2.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 | Provenance | Actions |
|---|---|---|---|---|
| conduit_observability-0.2.0.tar.gz | 26.0 kB | With provenance | Details for conduit_observability-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| conduit_observability-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for conduit_observability-0.2.0-py3-none-any.whl |
Total release size: 55.5 kB
Release files / conduit_observability-0.2.0.tar.gz
| Download URL | conduit_observability-0.2.0.tar.gz |
|---|---|
| Size | 26.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
268e2daaeb5566b492b27a3234780928875a393c5da9ad7c18ea40680556f674
|
|
BLAKE2b-256 checksum How to use checksums |
b00879c7d2f10dcb07f29b6db87825b33e7e7811ed9702903388e7f7ea257bb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / conduit_observability-0.2.0-py3-none-any.whl
| Download URL | conduit_observability-0.2.0-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed0638823a2d5478f287b62bf5db07858c54f9c013f1130ebbd0aaa860f714eb
|
|
BLAKE2b-256 checksum How to use checksums |
7185905488cfe0126c76a98f97c9015d97dd6cb329d5b5dffedca32c1b49582c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logSecurity for conduit-observability 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for conduit_observability-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.