Metadata-Version: 2.4
Name: graphsight
Version: 0.1.1
Summary: See why your AI agent retrieved what it did — interactive graph viewer for agent retrieval traces. One command, zero dependencies, nothing leaves your machine.
Author: Arush Karnatak
License: MIT
Project-URL: Repository, https://github.com/Kcodess2807/graphsight
Project-URL: Documentation, https://github.com/Kcodess2807/graphsight/tree/main/graphsight
Keywords: tracing,observability,rag,retrieval,agents,visualization,langgraph
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# graphsight

[![PyPI](https://img.shields.io/pypi/v/graphsight.svg)](https://pypi.org/project/graphsight/)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://pypi.org/project/graphsight/)
[![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/Kcodess2807/graphsight/blob/main/graphsight/LICENSE)

**See exactly why your AI agent retrieved what it did.**

Your agent answered a question. Which documents did it actually pull? What
scores did they get? How are they connected to each other? Most stacks make
you dig through logs to answer that. Graphsight turns the run into an
**interactive graph in your browser** — one command, zero dependencies,
nothing leaves your machine.

```bash
pip install graphsight
graphsight path/to/trace_state.json
```

A local server starts, your browser opens, and the trace renders:

- **Every retrieved item as a typed node** — PRs, services, people, tickets,
  documents — with its retrieval score as a chip.
- **The relational paths between them** — *person → authored → PR →
  resolves → issue* — so you see the chain of evidence, not just a ranked
  list.
- **Click any node** to inspect the underlying content, score, and source
  link.
- **The execution timeline** of the run that produced it: every agent step,
  every retriever call, per-span timings.

Retrieval reasoning, out of the black box.

## Where traces come from

Any tool that emits Graphsight's trace JSON. Today:

- **[graphsight-langgraph](https://pypi.org/project/graphsight-langgraph/)** —
  trace any LangGraph agent with a single callback handler, or trace a
  GitHub repo in one command:

  ```bash
  pip install "graphsight-langgraph[example]"
  graphsight-github-trace langchain-ai/langgraph "who fixed the recent streaming bugs?"
  graphsight graphsight_out/trace_state.json
  ```

- **The TraceRAG engine** — the full graph-memory backend this project grew
  out of; its `/api/trace` responses are the same shape.

LlamaIndex and raw-OTel adapters are planned. They'll emit the same schema
and render in this same viewer.

## CLI

```
graphsight [trace_state.json] [--port 4630] [--no-browser]
```

With a trace file, the browser opens straight into it. Without one, you get
an import page where you can drag-and-drop or paste JSON.

## Private by construction

The dependency list is empty — the UI is a bundled static build (Vite +
React + React Flow) served by Python's stdlib `http.server` on `127.0.0.1`.
No backend, no account, no telemetry, no outbound network calls. Close the
terminal and it's gone.

## Links

- Source & issues: [github.com/Kcodess2807/graphsight](https://github.com/Kcodess2807/graphsight)
- The adapter: [graphsight-langgraph on PyPI](https://pypi.org/project/graphsight-langgraph/)
- Trying the beta? [BETA.md](https://github.com/Kcodess2807/graphsight/blob/main/BETA.md)
