OMEM: trustworthy memory for AI agents
OMEM is a memory layer for AI agents that tracks beliefs over time and handles contradictions instead of silently overwriting them. This is the official Python SDK. It has no third-party dependencies, so it installs instantly and won't clash with anything else in your environment.
Install
pip install omem-infrastructure
The import is short:
from omem import Memory
Run a server in one command
Installing also gives you an omem-server command that starts the full OMEM
server (engine and API) locally, with no extra setup:
omem-server
It runs on http://127.0.0.1:8787 and stores its data in an omem-data folder in
your current directory. Use a different port with omem-server 9000.
Quickstart
from omem import Memory
mem = Memory(api_key="omem_sk_...", project="proj_...")
# Remember a grounded fact. The agent and entity are created on first use.
mem.remember(agent="support-agent", about="customer:123",
claim="prefers_annual_billing")
# Ask what's believed. The engine resolves contradictions for you.
print(mem.believes(about="customer:123", claim="prefers_annual_billing"))
# -> BELIEVED_TRUE
# Recall everything known about an entity, with provenance.
for m in mem.recall(about="customer:123")["memories"]:
print(m["proposition"], m["state"])
# See why something is believed, with the full provenance chain.
mem.why("a_...")
Cross-agent memory
Memory is private to an agent by default, and you decide what to share.
# Private to one agent. Only agent-a can recall it.
mem.remember(agent="agent-a", about="acme", claim="secret_deal=1",
scope="agent:agent-a")
# Shared across the whole project. Every agent can recall it.
mem.remember(agent="agent-a", about="acme", claim="tier=enterprise", scope="org")
# Shared with a named team.
mem.remember(agent="agent-a", about="acme", claim="ae=jane", scope="team:sales")
# Promote an existing memory to a wider scope later.
mem.share(assertion_id="a_...", scope="org")
Use it as an MCP server
Installing also gives you an omem-mcp command that speaks MCP over stdio and
exposes three safe tools: omem_recall, omem_observe, and omem_why.
OMEM_API_KEY=omem_sk_... OMEM_BASE_URL=https://... OMEM_AGENT=support-agent omem-mcp
Point your MCP client (such as Claude Desktop) at that command. The agent identity is fixed at the process level, so a model can't reach into another agent's private memory.
Self-healing
# Report a failure and let OMEM's policy-gated recovery loop handle it.
mem.healing.report(component="db-pool", error_type="ECONNRESET")
mem.healing.handle(error={"component": "db-pool", "error_type": "ECONNRESET"})
mem.healing.health() # aggregated component health
How it fits together
Every method maps onto one operation or query in the OMEM engine. The SDK adds
authentication, retries on 5xx errors, typed errors (OmemError.reason_code
exposes codes like R_DANGLING), automatic registration of agents and entities,
and cross-agent scope control. It doesn't invent any new memory behavior of its
own; the engine remains the single source of truth.
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 omem_infrastructure-0.1.2.tar.gz.
File metadata
- Download URL: omem_infrastructure-0.1.2.tar.gz
- Upload date:
- Size: 212.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cb9f798f4c7a43ff9e9f7e43851015b619e80f29d2d649c4d9b4dcfa10943a5
|
|
| MD5 |
e556e40c922342f49b89ca58f4282b65
|
|
| BLAKE2b-256 |
692884c74f5fabe81099989b8cbc5fddd07f33250ec232799601aac54e9f8aab
|
File details
Details for the file omem_infrastructure-0.1.2-py3-none-any.whl.
File metadata
- Download URL: omem_infrastructure-0.1.2-py3-none-any.whl
- Upload date:
- Size: 239.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7abdde5b68a4c71055a5d4f186c3a964169872ce2768e8238f691334764f83fe
|
|
| MD5 |
5d60bd9ef0b95209469abf9387616c66
|
|
| BLAKE2b-256 |
e2d3431b1331c2b6be86f2584b1f9566c38d993fed51927a1bd60a2ae44926e4
|