lookspan — local-first observability for AI agents
Python SDK for Lookspan — emit spans from your AI agents to a dashboard that runs on your own machine. No cloud, no account, no API key, no data leaving your laptop.
If you have ever asked "why did my agent call that tool twice?" or "where did those 40 seconds go?", this is the missing view: every LLM call, tool call, chain step and MCP request as a span on a timeline you own.
- Local-first. The dashboard is a process on
127.0.0.1. Your prompts stay yours. - Framework agnostic. Works with LangChain, LangGraph, CrewAI, MCP clients or plain code.
- Content off by default. Prompts and completions are not recorded unless you opt in.
- Small. One dependency (
httpx), typed, MIT.
Install
pip install lookspan
The dashboard itself ships as a separate CLI:
npx lookspan-cli
Quick start
from lookspan import LookspanClient, Span, SpanType, SpanStatus
client = LookspanClient(endpoint="http://127.0.0.1:3100/api/ingest")
trace_id = client.new_trace_id()
span_id = client.new_span_id()
client.send([
Span(
trace_id=trace_id,
span_id=span_id,
parent_span_id=None,
type=SpanType.LLM_CALL,
name="my-agent.completion",
started_at="2026-05-08T12:00:00Z",
ended_at="2026-05-08T12:00:01Z",
status=SpanStatus.OK,
framework="custom",
model="claude-opus-4-7",
provider="anthropic",
)
])
client.flush()
LookspanClient omits span input and output by default. Pass capture_content=True only when
that content is safe to persist on disk.
Framework adapters
You rarely need to build spans by hand — install the adapter for your stack instead:
| Package | Traces |
|---|---|
lookspan-langgraph |
LangChain chains, LangGraph nodes, LLM calls, tools |
lookspan-crewai |
Crew kickoffs, agents, tasks, tools, LLM calls |
Links
- Product page — https://fervon.dev/lookspan/
- Documentation — https://jonimartin27.github.io/lookspan/
- Source and issues — https://github.com/JoniMartin27/lookspan
MIT licensed. Part of Fervon.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 lookspan-0.5.3.tar.gz.
File metadata
- Download URL: lookspan-0.5.3.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c932e7711e1a8fa437cb74ca369ec91d659ab65926818498f85674a25c8f339
|
|
| MD5 |
6f705290eafd8cbe4359302308d8baea
|
|
| BLAKE2b-256 |
60e4121268e12608eda000f9a3987004609eb3785a56dc75cd2cc5821899c9cb
|
Provenance
The following attestation bundles were made for lookspan-0.5.3.tar.gz:
Publisher:
publish-pypi.yml on JoniMartin27/lookspan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lookspan-0.5.3.tar.gz -
Subject digest:
0c932e7711e1a8fa437cb74ca369ec91d659ab65926818498f85674a25c8f339 - Sigstore transparency entry: 2520670507
- Sigstore integration time:
-
Permalink:
JoniMartin27/lookspan@889a6f8ac52dea81320595e088343342fb4a17a7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/JoniMartin27
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@889a6f8ac52dea81320595e088343342fb4a17a7 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file lookspan-0.5.3-py3-none-any.whl.
File metadata
- Download URL: lookspan-0.5.3-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a63ca0c0f7de8b36075a49a21dc48c4ed04b26da3f21defd7ccf8714ffd257e3
|
|
| MD5 |
cb8b57513f57146eb0feb5a2e4321a5a
|
|
| BLAKE2b-256 |
5751bf3c2a6a9e41553dfc9cd35c94d0f5fffa3844ab8485ab538eea9bf96914
|
Provenance
The following attestation bundles were made for lookspan-0.5.3-py3-none-any.whl:
Publisher:
publish-pypi.yml on JoniMartin27/lookspan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lookspan-0.5.3-py3-none-any.whl -
Subject digest:
a63ca0c0f7de8b36075a49a21dc48c4ed04b26da3f21defd7ccf8714ffd257e3 - Sigstore transparency entry: 2520672890
- Sigstore integration time:
-
Permalink:
JoniMartin27/lookspan@889a6f8ac52dea81320595e088343342fb4a17a7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/JoniMartin27
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@889a6f8ac52dea81320595e088343342fb4a17a7 -
Trigger Event:
workflow_dispatch
-
Statement type: