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.