Skip to main content

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.
print(mem.believes(about="customer:123", claim="prefers_annual_billing"))
# -> BELIEVED_TRUE

# Contradictions. Simple negation needs no setup: `X` and `not:X` are paired
# for you, so this alone is enough to get a conflict rather than an overwrite.
mem.remember(agent="billing-agent", about="customer:123", claim="not:prefers_annual_billing")
print(mem.believes(about="customer:123", claim="prefers_annual_billing"))
# -> CONTRADICTED
mem.conflicts()   # both sides, their evidence, and a recommendation

# For claims that oppose each other without being a negation, say so once.
# OMEM never guesses this from wording: deciding that two sentences disagree is
# the judgment call that would stop a belief state being reproducible.
mem.contradict("prefers_annual_billing", "prefers_monthly_billing")

# 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

omem_infrastructure-0.2.1.tar.gz (604.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omem_infrastructure-0.2.1-py3-none-any.whl (803.4 kB view details)

Uploaded Python 3

File details

Details for the file omem_infrastructure-0.2.1.tar.gz.

File metadata

  • Download URL: omem_infrastructure-0.2.1.tar.gz
  • Upload date:
  • Size: 604.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for omem_infrastructure-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b3230e93c83c735ab8c0ac9e563685991307cf4fb05b85bf929721bdda6d5411
MD5 c961c9530d8e2dfc0d18bd1f5c376c88
BLAKE2b-256 809311816a2b68a51577691efc290e82550b140aa28698f25256c8f2a938718d

See more details on using hashes here.

Provenance

The following attestation bundles were made for omem_infrastructure-0.2.1.tar.gz:

Publisher: release.yml on troybrandonc-bit/Omem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file omem_infrastructure-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for omem_infrastructure-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ab235a0485b5c75054b2835eca4d7a730833132763c5313b9f102389e8affe8
MD5 d33b4622f758de408e073a6cc4d549ef
BLAKE2b-256 5f80231bdfbc961b0726d23e7a57607ff1cc82e2735d5b4c2f5060c6b43da47d

See more details on using hashes here.

Provenance

The following attestation bundles were made for omem_infrastructure-0.2.1-py3-none-any.whl:

Publisher: release.yml on troybrandonc-bit/Omem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page