outomem
Outomem is the ultimate memory system library for AI agents. This tool manages user preferences, finds contradictions, and builds context for agents. The system organizes data into four layers: personalization, long term, temporal sessions, and raw facts. It tracks sentiment and detects when a user changes their mind by looking for polarity flips. Memory strength decays over time to keep context fresh. We built it with a Korean first design approach.
Installation
pip install outomem
Note: You need external database instances running.
Quick Start
from outomem import Outomem
# Initialize the memory system
memory = Outomem(
provider="openai-responses",
base_url="https://api.openai.com/v1/responses",
api_key="your-api-key",
model="gpt-5.4",
embed_api_url="https://api.openai.com/v1/embeddings",
embed_api_key="your-api-key",
embed_model="text-embedding-3-small",
neo4j_uri="bolt://localhost:7687",
neo4j_user="neo4j",
neo4j_password="password",
db_path="./outomem.lance",
style_path="./style.md",
embed_dim=768, # Match your embedding model dimensions
)
# Store a new memory
memory.remember("I prefer dark mode for all my applications.")
# Get context for a query
context = memory.get_context("What are the user's UI preferences?")
print(context)
# Backup before changing embedding model
memory.export_backup("./backup.json")
Health Check
Verify that all memory system components are operational before processing requests.
status = memory.health_check()
if status["healthy"]:
print("All systems operational")
else:
print(f"LanceDB: {status['lancedb']['connected']}")
print(f"Neo4j: {status['neo4j']['connected']}")
print(f"Embedding: {status['embedding']['working']}")
The health_check() method returns a dict with connection status for LanceDB, Neo4j, and the embedding function, plus table statistics and node counts.
Philosophy
See Design Philosophy.
Architecture Overview
Outomem uses a layered approach to manage different types of information. The vector store handles semantic retrieval while the graph store manages complex relationships between facts. This hybrid setup allows for both fast similarity search and deep graph traversal.
See Architecture for more details.
API Overview
| Class | Description |
|---|---|
| Outomem | Main API for managing agent memory and context. |
| LayerManager | Handles vector storage and retrieval. |
| GraphLayerManager | Manages graph database operations for relational facts. |
Documentation Index
Core Concepts
Guides
API Reference
Project Management
Requirements
- Python >= 3.10
- External database instances (configurable)
License
Apache License 2.0 - See LICENSE
Release files for outomem 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| outomem-0.5.0.tar.gz | 34.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| outomem-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.8 kB
Release files / outomem-0.5.0.tar.gz
| Download URL | outomem-0.5.0.tar.gz |
|---|---|
| Size | 34.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d2545565375b828c767b913c5b3750045afecf6b75e8e1d7eaca3af1c99fae0d
|
|
BLAKE2b-256 checksum How to use checksums |
fe1ea6231baeff23aee7e5645a1a726481c14c5d824ea8ae5bb324ae8c734868
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 12, 2026.
Transparency logRelease files / outomem-0.5.0-py3-none-any.whl
| Download URL | outomem-0.5.0-py3-none-any.whl |
|---|---|
| Size | 32.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7d4ad238801ec3778324764c8171d038a0722e20f963f2daf50696c414345030
|
|
BLAKE2b-256 checksum How to use checksums |
56a654a0d417ec6cb819cc56a4a13bd54479801a11ad5e1ffb641f5038b06874
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 12, 2026.
Transparency log