The ultimate memory system library for AI agents.
Project description
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"
)
# 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)
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
Project Management
Requirements
- Python >= 3.10
- External database instances (configurable)
License
Apache License 2.0 - See LICENSE
Project details
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 outomem-0.4.1.tar.gz.
File metadata
- Download URL: outomem-0.4.1.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94bb0f039e713ee8471f51725bca8f6211dd46b5162b14ef15d82a6f26c85903
|
|
| MD5 |
ed4f1f8dfab72d30be96110220a4f8af
|
|
| BLAKE2b-256 |
49f30138a9b26ddfc2c57f0868f801ae071c7d704a58fab21c1debb47683c69d
|
Provenance
The following attestation bundles were made for outomem-0.4.1.tar.gz:
Publisher:
publish.yml on llaa33219/outomem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
outomem-0.4.1.tar.gz -
Subject digest:
94bb0f039e713ee8471f51725bca8f6211dd46b5162b14ef15d82a6f26c85903 - Sigstore transparency entry: 1280359526
- Sigstore integration time:
-
Permalink:
llaa33219/outomem@dbbb0a6d21c534a97dcb908e485a7dea978bfdc1 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/llaa33219
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dbbb0a6d21c534a97dcb908e485a7dea978bfdc1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file outomem-0.4.1-py3-none-any.whl.
File metadata
- Download URL: outomem-0.4.1-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f03faf8f286701fa7fc9256abdad6173369fd932b6cf0c3aba66ec4c4ed9986
|
|
| MD5 |
bd3d8f16494b28d3b95ba8855e4d99d4
|
|
| BLAKE2b-256 |
e6cd933829682d1349acfc7848a0fd86de18515d27321258566ef7e706247d18
|
Provenance
The following attestation bundles were made for outomem-0.4.1-py3-none-any.whl:
Publisher:
publish.yml on llaa33219/outomem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
outomem-0.4.1-py3-none-any.whl -
Subject digest:
1f03faf8f286701fa7fc9256abdad6173369fd932b6cf0c3aba66ec4c4ed9986 - Sigstore transparency entry: 1280359528
- Sigstore integration time:
-
Permalink:
llaa33219/outomem@dbbb0a6d21c534a97dcb908e485a7dea978bfdc1 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/llaa33219
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dbbb0a6d21c534a97dcb908e485a7dea978bfdc1 -
Trigger Event:
push
-
Statement type: