Engram is an async-first Python SDK that stores agent memory as a Neo4j knowledge graph with LLM-driven extraction (via LiteLLM) and embedding-based recall without LLM calls on the read path.
| Resource | Link |
|---|---|
| Repository | github.com/hackdavid/engram-memory |
| Install | Clone hackdavid/engram-memory and pip install -e . until PyPI release; then pip install engram-memory-sdk |
| License | MIT |
| Guide | What you will learn |
|---|---|
| Getting started | Install, environment, verify LiteLLM, first ingest / recall |
| Configuration | Config, environment variables, user_id rules, embeddings |
| API overview | Clients, models, exceptions, async vs sync |
| Production & operations | Health checks, engram_memory-e2e, live tests, hooks, logging |
The root README remains the high-level product overview, feature list, and full configuration table.
- Ingest — Embed text, vector-search for top-5 similar nodes (slim context: summaries + rel types only), one LLM call for extraction, batched
UNWINDwrites to Neo4j. Token usage tracked per call. - Recall — Embed query, vector search for seeds, single variable-length Cypher traversal (1 round-trip), composite scoring. Zero LLM calls on the read path.
- Isolation — All graph data is scoped by
user_id(validated against a configurable regex).
Start with Getting started, then keep Configuration and Production & operations nearby when you deploy.
overview.md— Early design notes and roadmap (includes non-standard YAML front matter for editor tooling; treat as supplementary, not API contract).