Skip to main content

Graphiti Local

Graphiti Local

Local memory for your agents. You approve what they learn.

Retrieve project decisions through six read-only MCP tools or the kg CLI. Proposed updates stay in a separate queue until a human approves and applies them. Ollama handles local inference; embedded LadybugDB stores the graph. No Docker or cloud API key is needed for the local setup.

42-second synthetic memory demo

Captured output excerpts with pauses condensed. Measured results and limitations.

Try it in one command

uvx --from git+https://github.com/renezander030/graphiti-local kg-demo

Answers a question against a small synthetic graph shipped with the package. No Ollama, no model downloads, no database setup: retrieval runs on keywords alone, so nothing contacts a model. Ask your own question by passing it as an argument.

This is the read path only. Building a graph from your own text needs extraction, which needs a model, and that is the full setup below.

Try it locally

Install uv and Ollama, then start Ollama. Setup downloads need internet access. Run these commands in bash or zsh:

git clone https://github.com/renezander030/graphiti-local.git
cd graphiti-local
uv sync --frozen
ollama pull qwen2.5:7b
ollama pull nomic-embed-text
export GRAPHITI_LOCAL_CONFIG="$PWD/config/ollama.example.yaml"
export KG_WORKSPACE_DIR="$PWD/workspace/local-demo"
export KG_LADYBUG_PATH="$KG_WORKSPACE_DIR/graph.ladybug"
uv run --frozen kg-ladybug-setup --database "$KG_LADYBUG_PATH" --apply
uv run --frozen kg doctor
uv run --frozen kg-ingest examples/local_memory_demo.jsonl --apply
uv run --frozen kg ask "Which database does Aurora Analytics use?" example

The synthetic example returns DuckDB. Follow the complete walkthrough to propose PostgreSQL, review and apply that update, and retrieve it from an MCP client. Model extraction can be wrong; inspect the returned facts and validity timestamps.

To review extraction before it touches the configured graph, run kg-ingest INPUT --review-output review.jsonl, inspect the snapshot, then use the printed restore command to promote those exact records. Searches return current facts by default; kg ask --history is the explicit historical view.

Is it a fit?

Use it for local agent memory with explicit human review. Skip it if you need agents to write through MCP or want a hosted service without local setup. FalkorDB and Neo4j are also supported.

If this helps your workflow, star the repository and share your setup result.

Maintained by René Zander, who builds context layers for AI agents on temporal knowledge graphs.

Independent community project built on Graphiti, not affiliated with or endorsed by Zep. Apache-2.0.

Release files for graphiti-local 0.4.1

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

Source distribution (sdist)

Source distribution for graphiti-local 0.4.1
File Size Uploaded
graphiti_local-0.4.1.tar.gz 860.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for graphiti-local 0.4.1
File Interpreter ABI Platform
graphiti_local-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size:916.2 kB

Release files / graphiti_local-0.4.1.tar.gz

Download URL graphiti_local-0.4.1.tar.gz
Size 860.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e1ed982e69aa7fcdc84928f462c6c460c4208432cf57a7fe4051743607bc1da0
BLAKE2b-256 checksum
How to use checksums
3f794b5d7546f9ace18e5168d29c305311bbdf0034ab0c2a4ebfc7ad7db8c3b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / graphiti_local-0.4.1-py3-none-any.whl

Download URL graphiti_local-0.4.1-py3-none-any.whl
Size 56.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
183b58505f89d887bd3bd7235bc0f02690fa3bbedaddf434cb0cc0dcaf803b6a
BLAKE2b-256 checksum
How to use checksums
a6f64178bfdd6470604f25ccb0345e5ba419300edbb69895ebc2fea37cf0de8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

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