Skip to main content

Install

pip install synap-pydantic-ai

What’s included

ExportPurpose
SynapDepsDataclass holding the SDK instance and user scope
register_synap_tools(agent)Registers synap_search and synap_store tools + system prompt

Quick start

from pydantic_ai import Agent
from synap_pydantic_ai import SynapDeps, register_synap_tools

agent: Agent[SynapDeps, str] = Agent(
    "openai:gpt-4o",
    deps_type=SynapDeps,
    system_prompt="You are a helpful assistant with long-term memory.",
)

register_synap_tools(agent)

deps = SynapDeps(sdk=sdk, user_id="alice", customer_id="acme")
result = await agent.run("What do you remember about my project?", deps=deps)
print(result.data)
register_synap_tools does three things:
  1. Adds a synap_search tool the agent can call to retrieve memories
  2. Adds a synap_store tool the agent can call to persist new memories
  3. Appends a system prompt fragment instructing the agent to use both tools

SynapDeps

from dataclasses import dataclass
from maximem_synap import MaximemSynapSDK

@dataclass
class SynapDeps:
    sdk: MaximemSynapSDK
    user_id: str
    customer_id: str | None = None
    conversation_id: str | None = None
Pass different SynapDeps per request to serve multiple users from a single agent instance:
async def handle_request(user_id: str, message: str) -> str:
    deps = SynapDeps(sdk=sdk, user_id=user_id)
    result = await agent.run(message, deps=deps)
    return result.data

Next steps

OpenAI Agents

Function tools for the OpenAI Agents SDK.

CrewAI

Storage backend for CrewAI crews.