Skip to main content

graphweave

Most of what a retrieval step returns never makes it into the answer. You still pay for all of it: in tokens, in time, and in more places for the model to latch onto the wrong thing. Logs show what was fetched. They don't show what was used.

graphweave shows both. It lays out everything a run retrieved as a map, then checks each item against the final answer and marks it used or unused by word overlap. No second model grades the evidence, no score is guessed, and nothing leaves your machine.

Point it at any public GitHub repository and ask a question to see it work.

How graphweave works

What you need

  • Python 3.12 or newer
  • A public GitHub repository, written as owner/name

Get started

pip install graphweave
graphweave-github-trace psf/requests "What changed in how sessions handle retries?"
graphweave graphweave_out/trace_state.json

The first command installs it. The second reads the repository's recent pull requests, issues and commits and saves what matches your question. The third opens the result in your browser at http://127.0.0.1:4630.

In your browser

The map shows the pull requests, issues, commits and people behind the answer and how they connect. Below it, Retrieved vs used marks which items the answer actually draws on, then the steps taken and the answer itself. Open a folder instead of a file to switch between saved questions.

What the numbers mean

Number Meaning
Combined score (α·vector + β·graph) × recency; α and β set by question type
Vector similarity Cosine similarity between question and item embeddings
Graph relevance Best path score from the question's seed nodes: product of edge weights along the path
Recency max(floor, 0.5^(age / half-life)), with a half-life per entity type; 1.000 = undated or brand new
Age Days since the item's event timestamp

Each link carries a weight for how much it proves, and a path through the graph scores the product of its links. Links read from GitHub's own records are trusted most; links read out of prose are trusted least.

Strength Links Comes from
Strongest AUTHORED, RESOLVES who wrote it; "Fixes #N"
Strong REVIEWED, TOUCHES, PART_OF submitted reviews; changed files; commit to repo
Medium REPORTED, MENTIONS who opened the issue; named in the text
Weakest CO_OCCURS names near each other in text (reserved)

How duplicates are merged

The same thing gets written many ways: payment-service, payments, PaymentService. Each new name is compared with known ones:

  1. Near-identical: merged, no model call.
  2. Close but unsure: one yes/no question to a model. Any timeout, error or unclear reply counts as different.
  3. Clearly different: a new entity.

A merge never renames an entity; only its last-seen time moves forward.

Repository layout

src/
  ingestion/     GitHub API client: PRs, issues, commits, reviews
  analysis/      chunking, entity extraction, duplicate merging
  knowledge/     typed, weighted, timestamped edges
  graphdb/       LadybugDB store: graph + vector index
  retrieval/     question type, graph walk, vector search, fusion, recency
  api/           FastAPI app: trace, answer streaming, history
  tracing/       trace format, capture(), local viewer server
  adapters/      LangGraph callback
  worker/        background ingest and rebuild (hosted mode)
frontend/        React + Vite: Studio and the bundled local viewer
tests/           package and viewer tests

Good questions to ask

  • "Who has been working on the test suite?"
  • "What changed in how errors are reported?"
  • "Which pull requests fixed issues about timeouts?"

If something goes wrong

You see Do this
A message about GitHub's rate limit Set a GitHub token in GITHUB_TOKEN, or wait an hour
The browser doesn't open Copy the address printed in the terminal into your browser
"Address already in use" Add --port 4700
graphweave is not recognized Reopen the terminal after installing

Metadata

Release files for graphweave 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 graphweave 0.1.0
File Size Uploaded
graphweave-0.1.0.tar.gz 395.9 kB Details

Built distribution (wheel)

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

Total release size: 834.0 kB

Release files / graphweave-0.1.0.tar.gz

Download URL graphweave-0.1.0.tar.gz
Size 395.9 kB
Tags Source
SHA-256 checksum
How to use checksums
20a2df3078b13bac56d00665b5beaf84ca206f27f666209ce78608d041f4a6b1
BLAKE2b-256 checksum
How to use checksums
3bb05c8309617509f2da255e81856e9d4479636ad9c75187245b98cf03d00829
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 26, 2026.

Transparency log

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

Download URL graphweave-0.1.0-py3-none-any.whl
Size 438.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1430c71f6770f03f03b35503a8f1f2fa384761033bcd6dd40131c8100415f568
BLAKE2b-256 checksum
How to use checksums
0b4590cfd39e6ed50b22a4c0a0550bde21364ae7b747e53b20c38224e63fb6a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 26, 2026.

Transparency log

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