Skip to main content

VisibleAgent Python SDK

Plain-English observability for AI agents. VisibleAgent turns your agent's work into a story a human can read — every run, every step, every tool call, live-streamed to a dashboard with full replay — while capturing metadata only by default: never prompts, never customer content, unless you explicitly opt in.

Install

pip install visibleagent            # core SDK
pip install "visibleagent[langgraph]"  # + LangGraph auto-instrumentation

LangGraph: one line, zero node changes

from visibleagent import VisibleAgent
from visibleagent.integrations.langgraph import VisibleAgentTracer

va = VisibleAgent(api_key="...", base_url="https://your-visibleagent-host")

tracer = VisibleAgentTracer(
    client=va,
    source="MyApp",                       # "which app did this?" label
    display_names={                       # optional: human names per node
        "classify": "Classifying the message",
        "respond": "Drafting a reply",
    },
    descriptions={                        # optional: what each step does
        "classify": "Reads the message and works out what it's about",
    },
    narrate=my_narrator,                  # optional: plain-English outcomes
)

graph.invoke(state, config={"callbacks": [tracer]})

The tracer auto-derives the whole span tree from LangGraph's callbacks — nodes, model calls ("Thinking — …"), and tool calls — including model names, token usage, and latencies. It works with bare llm.invoke() calls inside your nodes (no config threading needed), never raises into your app, and is completely inert when unconfigured.

narrate(node_name, output_state) lets you turn structured state into human sentences — "Understood the message as a new order (94% confident)" — without ever exposing raw content.

Manual instrumentation

with va.start_run(name="Refund request #4521", attrs={"source": "MyApp"}) as run:
    with run.agent("support_agent", display="Support Agent") as agent:
        with agent.step("classify", display="Understanding the request"):
            ...
        with agent.tool("orders.lookup", display="Checking the order") as tool:
            order = lookup(order_id)
            tool.note(f"Found order {order_id}")
va.flush()

Spans emit .started / .completed / .failed automatically based on whether the block raises. Delivery is batched on a background thread and fail-open: a missing or unreachable VisibleAgent backend never affects your application.

Content safety

Metadata capture is the default and the contract: span attributes carry model ids, token counts, durations, statuses, and the labels you author — never prompt or completion text, never tool argument values. A separate explicit capture_content="full" mode exists for teams who want their own content in their own dashboard.

License

Apache-2.0

Metadata

Release files for visibleagent 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for visibleagent 0.1.0
File Size Uploaded
visibleagent-0.1.0.tar.gz 35.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for visibleagent 0.1.0
File Interpreter ABI Platform
visibleagent-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.4 kB

Release files / visibleagent-0.1.0.tar.gz

Download URL visibleagent-0.1.0.tar.gz
Size 35.1 kB
Tags Source
SHA-256 checksum
How to use checksums
18d0957ddb053e8c29adc614dd15a27dd7acecde2daa42f8a9aa3837340c2e75
BLAKE2b-256 checksum
How to use checksums
815776997374cada5fbd927350fe593028af7ce7bc144feb24998f9f05073d22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / visibleagent-0.1.0-py3-none-any.whl

Download URL visibleagent-0.1.0-py3-none-any.whl
Size 21.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6747001b0e5ada378cdc4fe0e34bf4454966e320795c8ba0ed41e2ed672af4a
BLAKE2b-256 checksum
How to use checksums
eb69272d48d0c071d7a911d682c6dd2b9bc1a9e6d3246e7f75422b96e2148695
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page