CerebeCerebe Docs

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 cerebe

Quick 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 exit

Every 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 views

RAG 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

ParameterEnvironment VariableDefault
api_keyCEREBE_API_KEY— (required)
projectCEREBE_PROJECT""
base_urlCEREBE_BASE_URLhttps://api.cerebe.ai
timeout30.0
max_retries3

Auto-Retry

The SDK automatically retries on:

  • 429 (Rate Limited) — respects Retry-After header
  • 5xx (Server Error) — exponential backoff

Client errors (400, 401, 404, 422) are never retried.

Requirements

  • Python 3.10+
  • Dependencies: httpx, pydantic, typing-extensions

On this page