Python SDK
Install and use the Cerebe Python SDK.
Python SDK
The official Python SDK for Cerebe. Provides both sync (Cerebe) and async (AsyncCerebe) clients.
Installation
pip install cerebeQuick Start
from cerebe import Cerebe
client = Cerebe(api_key="ck_live_...")
# Store a memory
client.memory.add(
"User prefers visual explanations",
"session_abc",
type="semantic",
importance=0.8,
)
# Search memories
results = client.memory.search("What does the user prefer?", "session_abc")Async Client
from cerebe import AsyncCerebe
async with AsyncCerebe(api_key="ck_live_...") as client:
results = await client.memory.search(
"user preferences",
"session_abc",
)
# Client automatically closed on exitEvery method on Cerebe has an identical async counterpart on AsyncCerebe.
Resources
client.memory # Memory operations (add, search, harvest, consolidate)
client.knowledge # Knowledge graph (ingest, query, entities, visualize)
client.rag # Retrieval-Augmented Generation (embed, search, stats)
client.storage # File storage (upload, presigned URLs, extract)
client.meta_learning # PLRE state, learning pattern analysis
client.agents # Agent trace ingestion, working memory
client.sessions # Session management, cognitive state
client.graph # Graph traversal, temporal viewsRAG Quick Start
# Embed a document
with open("docs/auth.md") as f:
client.rag.embed(source="docs/auth.md", content=f.read())
# Semantic search — returns top-k chunks ranked by similarity
results = client.rag.search("how does authentication work?", k=3)
for r in results.data["results"]:
print(r["source"], r["score"])See RAG docs for the full API reference.
Error Handling
from cerebe import Cerebe
from cerebe._errors import AuthenticationError, RateLimitError, NotFoundError
try:
result = client.memory.search("query", "sess_1")
except AuthenticationError:
print("Invalid API key")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
except NotFoundError:
print("Resource not found")Agent Integration
# Ingest execution traces
client.agents.ingest_trace(
"Called search tool with query 'quadratic formula'",
"sess_123",
metadata={"tool": "search", "latency_ms": 120},
)
# Set working memory with TTL
client.agents.set_working_memory(
"Current task: algebra homework",
"sess_123",
ttl_seconds=3600,
)Configuration
| Parameter | Environment Variable | Default |
|---|---|---|
api_key | CEREBE_API_KEY | — (required) |
project | CEREBE_PROJECT | "" |
base_url | CEREBE_BASE_URL | https://api.cerebe.ai |
timeout | — | 30.0 |
max_retries | — | 3 |
Auto-Retry
The SDK automatically retries on:
- 429 (Rate Limited) — respects
Retry-Afterheader - 5xx (Server Error) — exponential backoff
Client errors (400, 401, 404, 422) are never retried.
Requirements
- Python 3.10+
- Dependencies:
httpx,pydantic,typing-extensions