Metadata-Version: 2.4
Name: momex
Version: 0.1.0
Summary: Memory system for AI agents with Structured RAG, built on TypeAgent
Author: Guido van Rossum, Steven Lucco, Umesh Madan, Xiaoyu Zhang
Author-email: Guido van Rossum <gvanrossum@microsoft.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Typing :: Typed
Requires-Dist: azure-identity>=1.22.0
Requires-Dist: black>=25.12.0
Requires-Dist: colorama>=0.4.6
Requires-Dist: mcp[cli]>=1.12.1
Requires-Dist: numpy>=2.2.6
Requires-Dist: openai>=1.81.0
Requires-Dist: pydantic>=2.11.4
Requires-Dist: pyreadline3>=3.5.4 ; sys_platform == 'win32'
Requires-Dist: python-dotenv>=1.1.0
Requires-Dist: tiktoken>=0.12.0
Requires-Dist: typechat>=0.0.4
Requires-Dist: webvtt-py>=0.5.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: logfire>=4.1.0 ; extra == 'logfire'
Requires-Dist: opentelemetry-instrumentation-httpx>=0.57b0 ; extra == 'logfire'
Requires-Dist: asyncpg>=0.29.0 ; extra == 'postgres'
Requires-Python: >=3.12
Project-URL: GitHub, https://github.com/xiaoyu-work/typeagent-py
Project-URL: Documentation, https://github.com/xiaoyu-work/typeagent-py/tree/main/docs/momex.md
Provides-Extra: logfire
Provides-Extra: postgres
Description-Content-Type: text/markdown

# Fork Changes

I've been keeping an eye on this repo for a while. I'm also personally interested in personal assistant agents, and I've been trying to find best practices for memory. Structured RAG is a great design, but since this is an experimental project, the feature set isn't complete yet. So I forked the original repo and added more features, aiming to make it work for more general use cases and projects.

This fork adds **Momex** - a simplified, collection-based API wrapper for TypeAgent's Structured RAG.

## What's New

- `src/momex/` - High-level memory API package
- Hierarchical collections with `:` separator (`company:engineering:alice`)
- Prefix queries across multiple collections
- Auto fact extraction and deduplication via LLM
- Importance scoring (health info ranks higher than casual info)
- PostgreSQL backend support (via pgvector)
- Soft delete and restore
- YAML configuration support
- Export to JSON


## Quick Start

```python
from momex import Memory, query

# Add memories with hierarchical identity
alice = Memory(collection="company:engineering:alice")
alice.add("I like Python")

bob = Memory(collection="company:engineering:bob")
bob.add("I prefer Java")

# Query with prefix - searches all matching collections
answer = query("company:engineering", "What languages do people like?")
# Searches both alice and bob

answer = query("company", "Who likes Python?")
# Searches entire company
```

See [docs/momex.md](docs/momex.md) for full documentation.

---

# Python package 'typeagent'

### This is an experimental prototype

Working toward a shared understanding of the MVP for structured RAG.

### This is sample code

This is an in-progress project aiming at a Pythonic translation of
[TypeAgent KnowPro](https://github.com/microsoft/TypeAgent/tree/main/ts/packages/knowPro)
and a few related packages from TypeScript to Python.

### Warning

This library will send its input to an LLM hosted by a third party.
Don't use it to index confidential information.

### Documentation

- Found in the [docs directory](docs/README.md)
- Quick install: `pip install typeagent`
- Download the [PyBay '25 PowerPoint slides](https://github.com/microsoft/typeagent-py/raw/refs/heads/main/docs/StructuredRagPyBay25.pptx)
- Download the [PyBay '25 slides as PDF](https://github.com/microsoft/typeagent-py/raw/refs/heads/main/docs/StructuredRagPyBay25.pdf)
- Watch the [PyBay '25 video](https://youtu.be/-klESD7iB-s)

## Trademarks

This project may contain trademarks or logos for projects, products, or services.
Authorized use of Microsoft trademarks or logos is subject to and must follow
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
Use of Microsoft trademarks or logos in modified versions of this project
must not cause confusion or imply Microsoft sponsorship.
Any use of third-party trademarks or logos are subject to those third-party's policies.
