Python SDK
Official Python SDK for Memoid. Install, configure, and use the client to add AI memory, search, and knowledge graphs to your apps.
Installation
pip install memoid Quick Start
from memoid import MemoryClient
client = MemoryClient("your-api-key")
# Add a memory
client.add(
messages=[
{"role": "user", "content": "I love hiking and Italian food"},
{"role": "assistant", "content": "Great! I'll remember that."}
],
user_id="user_123"
)
# Search memories
results = client.search("What food does the user like?", user_id="user_123")
# Recall context (memories + graph in one call)
context = client.recall("Tell me about the user", user_id="user_123", include_graph=True) Configuration
client = MemoryClient(
api_key="your-api-key",
base_url="https://api.memoid.dev" # default
) Memories
Add Memories
result = client.add(
messages=[
{"role": "user", "content": "My manager Sarah works at TechCorp"}
],
user_id="user_123",
project_id="proj_abc",
metadata={"source": "chat"},
extract_graph=True
) Get & List
memory = client.get("memory_id")
memories = client.get_all(user_id="user_123", limit=50) Update & Delete
client.update("memory_id", "Updated text")
client.delete("memory_id")
client.delete_all(user_id="user_123") History
history = client.history("memory_id") Search
results = client.search(
"food preferences",
user_id="user_123",
limit=5,
threshold=0.7
)
for r in results:
print(f"{r['memory']} (score: {r['score']:.2f})") Recall
Unified context retrieval for agents — memories + graph in one call.
context = client.recall(
"What do I know about John?",
user_id="user_123",
include_graph=True,
memory_limit=10
)
print(context["memories"]) # relevant memories
print(context["entities"]) # related graph entities
print(context["relationships"]) # entity relationships User Context
Get all memories and graph data for a user — ideal for UI visualization.
context = client.get_user_context(user_id="user_123")
print(context["memories"]) # all memories
print(context["entities"]) # all graph entities
print(context["relationships"]) # all relationships
print(context["stats"]) # totals Or via REST:
response = requests.get(
"https://api.memoid.dev/v1/context",
headers=headers,
params={"user_id": "user_123"}
)
context = response.json() Knowledge Graph
Extract Knowledge
result = client.extract_knowledge(
"Sarah is the CEO of TechCorp. She founded it with Mike."
)
# result["entities"]: [{"name": "Sarah", "type": "person"}, ...]
# result["relationships"]: [{"subject": "Sarah", "predicate": "ceo_of", "object": "TechCorp"}, ...] Add Entity & Relationship
client.add_entity("Acme Corp", "organization")
client.add_relationship("John", "person", "works_at", "Acme Corp", "organization") Query & Search
related = client.graph_query("John", depth=2)
found = client.graph_search("tech companies") Delete Entity
client.delete_entity("John") # also removes relationships REST API
All SDK methods map directly to REST endpoints. You can also use requests directly:
import requests
headers = {"Authorization": "Bearer YOUR_API_KEY"}
# Search
response = requests.post(
"https://api.memoid.dev/v1/search",
headers=headers,
json={"query": "food preferences", "user_id": "user_123"}
)
results = response.json()["results"]
# Recall
response = requests.post(
"https://api.memoid.dev/v1/recall",
headers=headers,
json={"query": "Tell me about John", "include_graph": True}
)
context = response.json()