Documentation
Permanent memory in a few lines.
LeapMemory is not a retrieval wrapper. It is infrastructure for systems that need continuity across months, years, and millions of interactions.
Store a turn
# One call. Persists across four stores. await lm.turns.ingest( user_id="user_482", role="user", text="Karma is my chihuahua, she lives with me in Istanbul.", )
Recall with provenance
# Multi-signal retrieval. Verbatim + graph + scored. memories = await lm.recall( user_id="user_482", query="what kind of dog do i have?", k=5, ) # memories[0].text -> original sentence # memories[0].trail -> signals that fired
Walk the entity graph
# Traverse relationships, not just embeddings. edges = await lm.graph.walk( user_id="user_482", start="Karma", hops=2, rels=["IS_A", "LIVES_IN"], )
Delete a tenant (one command)
# Compliance built into the architecture. await lm.tenants.delete(user_id="user_482") # All four stores dropped. # Physical tenant is gone. # Nothing recoverable. By design.
Quick start
Four steps to permanent memory.
Getting started
- Install the SDK with your package manager.
- Create an API key from the dashboard.
- Ingest your first turn. Stores fill automatically.
- Recall with a query. Get ranked memories back.
- Delete a tenant when needed. One physical wipe.
- Inspect the trail. Every recall is auditable.
What you do NOT need to do
- Chunk your conversations.
- Pick an embedding model.
- Manage a vector database.
- Filter results by tenant id.
- Build a graph layer on top.
- Worry about TTLs or eviction.
Want full API access?
Hosted access is rolling out via waitlist. Self-host is available now.