Metadata-Version: 2.4
Name: mimir-memory
Version: 0.1.0
Summary: Zero-server, in-process agentic memory system for LLM agents — Zvec + SQLite + LangGraph
Project-URL: Homepage, https://github.com/junainfinity/Mimir
Project-URL: Repository, https://github.com/junainfinity/Mimir
Project-URL: Documentation, https://github.com/junainfinity/Mimir/blob/main/PROSPECTUS.md
Author-email: Arjun Subburaj <arjun@junainfinity.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agent,bitemporal,langgraph,llm,memory,vector-search,zvec
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: langchain-core>=1.2.0
Requires-Dist: langchain-huggingface>=1.2.0
Requires-Dist: langchain-openai>=1.0.0
Requires-Dist: langgraph>=1.0.0
Requires-Dist: sentence-transformers>=5.0.0
Provides-Extra: all
Requires-Dist: build; extra == 'all'
Requires-Dist: pytest; extra == 'all'
Requires-Dist: twine; extra == 'all'
Requires-Dist: zvec>=0.2.0; extra == 'all'
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: zvec
Requires-Dist: zvec>=0.2.0; extra == 'zvec'
Description-Content-Type: text/markdown

# Mimir — Local Agentic Memory System

> A zero-server, in-process memory system for LLM agents, optimized for Apple Silicon.

Mimir combines **dense vector search** (Zvec), **bitemporal knowledge graphs** (SQLite), and **autonomous tool-calling** (LangGraph) into a single Python process. No Docker, no cloud databases, no external servers.

## ✨ Key Features

- **Bitemporal Memory** — Facts are never deleted. Old records are time-capped (`valid_to`), preserving full history. Ask "Where does John live?" *and* "Where did John live last month?"
- **In-Process Vector Search** — Zvec (Alibaba Proxima) runs as a C-extension inside your Python process. Sub-millisecond search, zero network hops.
- **Fully Local** — Embeddings via HuggingFace BGE run on CPU. Storage is file-based. The only external call is to your LLM endpoint.
- **LangGraph Agent** — Tools (`archive_memory`, `search_memory`) are bound to the LLM and routed via a compiled state graph.

## 🏗️ Architecture

| Layer | Component | Role |
|-------|-----------|------|
| L1 & L2 | Tools | `archive_memory` and `search_memory` — the agent's interface to storage |
| L3 | Storage | Zvec (dense vectors) + SQLite (bitemporal graph edges) |
| L4 | Optimizer | Post-session trajectory analysis (stub) |

## 🚀 Quick Start

```bash
# Requires Python 3.10-3.12 (for Zvec binary compatibility)
# Install Python 3.12 via pyenv if needed:
pyenv install 3.12.8
~/.pyenv/versions/3.12.8/bin/python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run
python3 mimir.py
```

## 📦 Stack

| Component | Technology |
|-----------|-----------|
| Vector Storage | Zvec v0.2.0 (Alibaba Proxima) |
| Graph/Relational | SQLite3 (Python stdlib) |
| Embeddings | BAAI/bge-small-en-v1.5 (384-dim, local) |
| Agent Framework | LangGraph + LangChain Core |
| LLM | Any OpenAI-compatible endpoint |

## 📄 Documentation

- **[PROSPECTUS.md](./PROSPECTUS.md)** — Full architecture deep-dive, competitive analysis vs Letta/Mem0/Zep/LangMem, and Zvec integration details

## 📜 License

MIT
