Python client SDK for the 1MBrain REST API — portable memory layer for AI agents.
Project description
1MBrain Python SDK
Python client for the 1MBrain REST API — a portable, semantic graph memory layer for AI agents.
Installation
# Sync client (zero extra dependencies — uses stdlib urllib)
pip install onemillionbrain
# Async client (requires httpx)
pip install onemillionbrain[async]
Quick Start
Sync
from onemillionbrain import OneMBrainClient
client = OneMBrainClient(
api_url="http://localhost:3001",
api_key="your-api-key",
agent_id="my-agent",
)
# Store a memory
memory = client.remember("User prefers Bahasa Indonesia as primary language", type="semantic")
print(memory.id)
# Search memories
results = client.recall("language preference", limit=5)
for r in results:
print(f"[{r.score:.3f}] {r.memory.content}")
# Create an explicit association
client.associate(results[0].memory.id, results[1].memory.id, strength=0.8)
# Forget a memory
client.forget(memory.id)
Async
import asyncio
from onemillionbrain import AsyncOneMBrainClient
async def main():
async with AsyncOneMBrainClient(
api_url="http://localhost:3001",
api_key="your-api-key",
agent_id="my-agent",
) as client:
memory = await client.remember("User asked about pricing on 2026-06-10", type="episodic")
results = await client.recall("pricing questions")
await client.forget(memory.id)
asyncio.run(main())
Agent Integration
To ensure your LLM agent knows exactly how and when to use 1MBrain, the SDK exports a pre-written AGENT_SYSTEM_PROMPT. Inject this into your agent's system instructions.
from onemillionbrain import AGENT_SYSTEM_PROMPT
system_instruction = f"""
You are a helpful AI assistant.
{AGENT_SYSTEM_PROMPT}
"""
# Pass system_instruction to LangChain, OpenAI, Anthropic, etc.
LangChain Integration
from langchain.tools import tool
from onemillionbrain import OneMBrainClient
brain = OneMBrainClient(
api_url="http://localhost:3001",
api_key="your-api-key",
agent_id="langchain-agent",
)
@tool
def remember_tool(content: str) -> str:
"""Store something in long-term memory."""
memory = brain.remember(content, type="episodic")
return f"Stored memory: {memory.id}"
@tool
def recall_tool(query: str) -> str:
"""Search long-term memory."""
results = brain.recall(query, limit=5)
if not results:
return "No memories found."
return "\n".join(f"- {r.memory.content}" for r in results)
API Reference
OneMBrainClient(api_url, api_key, agent_id=None)
| Parameter | Type | Description |
|---|---|---|
api_url |
str |
Base URL of the 1MBrain API (e.g. http://localhost:3001) |
api_key |
str |
Your API key (passed as X-API-Key header) |
agent_id |
str |
Default agent namespace (can be overridden per call) |
Methods
| Method | Signature | Returns |
|---|---|---|
remember |
(content, *, type, importance, tags, metadata, agent_id) |
Memory |
recall |
(query, *, limit, type, tags, max_hops, activation_threshold, blend_weight, agent_id) |
list[RecallResult] |
forget |
(memory_id, *, agent_id) |
bool |
associate |
(source_id, target_id, *, strength, origin, agent_id) |
AssociateResult |
Development
pip install -e ".[dev]"
pytest
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onemillionbrain-0.1.4.tar.gz.
File metadata
- Download URL: onemillionbrain-0.1.4.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.11.0"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 1.1.1q 5 Jul 2022","python":"3.11.0","system":{"name":"Windows","release":"10"}} HTTPX2/2.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12f38fbcf5af6008d3e40ce7a1acef84e7eecc6527171a737791f86368bbf220
|
|
| MD5 |
d1a30ac1ae9d23b8353547b4a2289e71
|
|
| BLAKE2b-256 |
f51757e468a840ffcacb4001c01535c859ea7b517913a8b16bf5cfc83497ce45
|
File details
Details for the file onemillionbrain-0.1.4-py3-none-any.whl.
File metadata
- Download URL: onemillionbrain-0.1.4-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.11.0"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 1.1.1q 5 Jul 2022","python":"3.11.0","system":{"name":"Windows","release":"10"}} HTTPX2/2.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a6814cd11114e2b23b6b31266ecc9bdcf10848b6263f38d8c6f85c72483af09
|
|
| MD5 |
a2395d379ecd663320d7877f3b49c58a
|
|
| BLAKE2b-256 |
73e298b5a7f8c270c5ffbccd6eb9318e31034da888773c32f7b45b157311abb3
|