Skip to main content

PyPI version Python versions License: MIT Research: SLoD arXiv

Mnemoverse Python SDK

Persistent memory for AI agents. Not vector search — statistical learning backed by Hebbian associations.

Installation

pip install mnemoverse

Quick Start

export MNEMOVERSE_API_KEY=mk_live_YOUR_KEY
from mnemoverse import MnemoClient

client = MnemoClient()
# or pass it explicitly — an explicit api_key always wins over the environment:
# client = MnemoClient(api_key="mk_live_YOUR_KEY")

# Store a memory
result = client.write(
    "Retry with exponential backoff fixed the timeout issue",
    concepts=["retry", "backoff", "timeout"]
)

# Query — Hebbian associations expand "timeout" → "retry", "backoff"
memories = client.read("how to handle timeouts?")

# Report outcome — the system learns what works
client.feedback(
    atom_ids=[item.atom_id for item in memories.items],
    outcome=1.0,
    query_concepts=memories.query_concepts
)

Closing the client

MnemoClient holds a background event loop and a pooled HTTP connection, so close it when a script is done. Use it as a context manager, with MnemoClient() as client:, to close automatically on exit, or call client.close() directly. A client left unclosed closes itself at interpreter exit, which is a fallback rather than something to rely on.

Async Client

from mnemoverse import AsyncMnemoClient

async with AsyncMnemoClient(api_key="mk_live_YOUR_KEY") as client:
    result = await client.write("async memory", concepts=["async"])
    memories = await client.read("what about async?")

Features

  • Circuit breaker — 5 failures → open → 30s half-open → probe
  • Retry with backoff — 3 attempts, rate-limit-aware
  • Sync + asyncMnemoClient for scripts, AsyncMnemoClient for FastAPI
  • Type-safe — Pydantic models, full type hints

Methods

Method Description
write(content, concepts, domain, metadata) Store a memory
write_batch(items) Store up to 500 memories
read(query, top_k, domain, since, until, order_by, exclude_author) Semantic search — "what do I know about X"
recent(domain, since, until, exclude_author, limit, cursor) Newest-first feed — "what happened lately"
feedback(atom_ids, outcome) Report success/failure
stats() Memory statistics
health() API health check

Every method exists on both MnemoClient (sync) and AsyncMnemoClient (async).

Search or feed?

read() answers what do I know about X and ranks by relevance. recent() answers what happened lately and is complete within one scope by construction — nothing is skipped, which a semantic search cannot promise. Reach for recent() to resume after a break or to catch up on a shared room.

from mnemoverse import MnemoClient

client = MnemoClient(api_key="mk_live_...")

# Catch up on a shared room. Rooms are SEPARATE stores: pass the address as
# `domain`, or an unscoped feed will not cover them.
page = client.recent(domain="xroom:room_01ABC", since="2026-08-01T00:00:00Z", limit=20)
for item in page.items:
    print(item.created_at, item.content)

if page.next_cursor:
    page = client.recent(domain="xroom:room_01ABC", cursor=page.next_cursor)

Read items carry created_at and provenance (who wrote it, where from).

Documentation

License

MIT

Release files for mnemoverse 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mnemoverse 0.3.0
File Size Uploaded
mnemoverse-0.3.0.tar.gz 35.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mnemoverse 0.3.0
File Interpreter ABI Platform
mnemoverse-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 53.9 kB

Release files / mnemoverse-0.3.0.tar.gz

Download URL mnemoverse-0.3.0.tar.gz
Size 35.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9cdd1022a30e2be1d82c57e677956e225781aa2505031f2214c15d491bd2dd96
BLAKE2b-256 checksum
How to use checksums
1437ae2395f0afe5bc7100b7730f99280b135c3c1ef7066909e0f5e88b511f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / mnemoverse-0.3.0-py3-none-any.whl

Download URL mnemoverse-0.3.0-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e6c7258a02ba830421cef5a68142d3689afe092b07acc61d2eb6eac950d5dc5
BLAKE2b-256 checksum
How to use checksums
cf7c3040e78c4b29620aa3d47e5cb6a342eee97ee47cea4f42af53debca80e78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page