MenteDB Python SDK
Python bindings for MenteDB, the mind database for AI agents. Built with PyO3 and maturin for native Rust performance from Python.
Installation
From source (development)
cd sdks/python
pip install maturin
maturin develop
From PyPI (once published)
pip install mentedb
On Debian and Ubuntu systems pip refuses system wide installs (PEP 668). Use a virtual environment or pipx:
python3 -m venv .venv && .venv/bin/pip install mentedb
# or: pipx install mentedb
Quick start
from mentedb import MenteDB
with MenteDB("./agent-memory") as db:
# process_turn — the primary API, one call does everything
result = db.process_turn(
user_message="The deployment failed because the config was missing",
assistant_response="I'll check the config setup.",
turn_id=0,
)
# result.context — relevant memories for your prompt
# result.facts_extracted — what was learned this turn
# result.contradiction_count — conflicting beliefs detected
# Optional kwargs: project_context, agent_id, session_id (tags stored
# turns so injection recall can exclude the requesting session)
# Sleeptime enrichment runs automatically after process_turn:
# - Extracts semantic facts from conversations
# - Links and deduplicates entities
# - Builds community summaries and user profile
# Requires LLM config: MENTEDB_OPENAI_API_KEY or MENTEDB_ANTHROPIC_API_KEY
# Or use low-level APIs directly:
# Store a memory
mid = db.store(
"The deployment failed because the config was missing",
memory_type=MemoryType.EPISODIC,
tags=["deployment", "config"],
)
# Recall memories with MQL
result = db.recall("RECALL tag:deployment LIMIT 5")
print(result.text)
# Vector similarity search
hits = db.search(embedding=[0.1] * 384, k=5)
for hit in hits:
print(f"{hit.id}: {hit.score:.4f}")
# Relate memories
mid2 = db.store("Always validate config before deploy", memory_type=MemoryType.PROCEDURAL)
db.relate(mid, mid2, edge_type=EdgeType.CAUSED)
# Forget a memory
db.forget(mid)
MenteDB Cloud (hosted)
Prefer a managed API with no engine to run? Use MenteDBClient with an mdb_
key from app.mentedb.com. The verbs mirror the
embedded client, so only the constructor changes.
from mentedb import MenteDBClient
client = MenteDBClient(api_key="mdb_...")
# Turn 0: tell it something.
client.process_turn("I switched from Postgres to SQLite for side projects", "Noted.", 0)
# Turn 1: it remembers.
result = client.process_turn("what database am I using for side projects?", "", 1)
for memory in result.context:
print(memory.content)
# Also available: client.search(...), client.store(...),
# client.store_multimodal(data, media_type=...), client.forget(memory_id)
MenteDBClient is pure standard library (no extra dependencies) and talks to
https://api.mentedb.com. process_turn uses the REST endpoint, while store,
search, store_multimodal, and forget use the hosted MCP tools.
Cognitive features
The SDK also exposes MenteDB cognitive subsystems for real time stream monitoring, conversation trajectory tracking, and pain signal management.
Sleeptime Enrichment
MenteDB automatically enriches memories in the background after process_turn. The pipeline extracts semantic facts, links and deduplicates entities, groups them into communities with summaries, and builds a user profile — all feeding back into future process_turn context retrieval.
Requires an LLM provider: set MENTEDB_OPENAI_API_KEY or MENTEDB_ANTHROPIC_API_KEY. Without one, the engine works normally — enrichment just doesn't run.
Cognitive subsystems
from mentedb._mentedb_python import CognitionStream, TrajectoryTracker, PainRegistry
# Stream monitoring
stream = CognitionStream(buffer_size=500)
stream.feed_token("The")
stream.feed_token(" sky")
alerts = stream.check_alerts([("some-uuid", "the sky is blue")])
# Trajectory tracking
tracker = TrajectoryTracker(max_turns=50)
tracker.record_turn("deployment", "investigating", ["which env?"])
context = tracker.get_resume_context()
# Pain registry
pain = PainRegistry(max_warnings=3)
pain.record_pain("some-uuid", 0.8, ["timeout", "deploy"], "deploy timed out")
warnings = pain.check_triggers(["deploy"])
API reference
MenteDB
| Method | Description |
|---|---|
process_turn(user_message, assistant_response, turn_id, project_context, agent_id) |
Primary API. Process a conversation turn through the full cognitive pipeline |
store(content, memory_type, embedding, agent_id, tags) |
Store a memory, returns its UUID |
recall(query) |
Recall memories using MQL |
search(embedding, k) |
Vector similarity search |
relate(source, target, edge_type, weight) |
Add a relationship |
forget(memory_id) |
Remove a memory |
close() |
Flush and close the database |
Types
MemoryType: episodic, semantic, procedural, anti_pattern, reasoning, correction
EdgeType: caused, before, related, contradicts, supports, supersedes, derived, part_of
License
Apache 2.0. See the repository root LICENSE file for details.
Metadata
Release files for mentedb 0.39.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| mentedb-0.39.2-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| mentedb-0.39.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| mentedb-0.39.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| mentedb-0.39.2-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 32.0 MB
Release files / mentedb-0.39.2-cp39-abi3-win_amd64.whl
| Download URL | mentedb-0.39.2-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 6.1 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
cb087379814498b2c942820abc0637f01ac49613e555106d5323026f4e8290dd
|
|
BLAKE2b-256 checksum How to use checksums |
60a4a9b363f259c194ea8d255c33e5a1a810e352844a0d9dd4a1510ddb23074e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / mentedb-0.39.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | mentedb-0.39.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
2ec2319eb03c209895121d5fe658a5c598f5df828a8c14572201cf08ee34cb87
|
|
BLAKE2b-256 checksum How to use checksums |
0b4e3bb5c06f7a7415a1138434a1077b547036f2f703642c1576bac2e94ec6fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / mentedb-0.39.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | mentedb-0.39.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
0f5b49931f720e7b976e5968bc52c65377cbd0fd3f20d2bcbdfd834923bdad0b
|
|
BLAKE2b-256 checksum How to use checksums |
799644b57f10d1ac8aa25a76b4d248a57ebe271d8c904b77360b5d66df0729e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / mentedb-0.39.2-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | mentedb-0.39.2-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d0b38ac341c03bbdf6cb804155a2d71205955a23c01caedd49b44a8eca19d860
|
|
BLAKE2b-256 checksum How to use checksums |
16f9ee3999e25464de0e7714efae6a5c2f5e924d8b104765363c242d0fb54a16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency log