Metadata-Version: 2.4
Name: mymemo
Version: 0.1.2
Summary: Python SDK for MyMemo — Agent memory ledger on Turso/libSQL
Project-URL: Homepage, https://github.com/OntarioLT/mymemo
Project-URL: Repository, https://github.com/OntarioLT/mymemo
Project-URL: Issues, https://github.com/OntarioLT/mymemo/issues
Author: OntarioLT
License-Expression: MIT
Keywords: agent,fts5,libsql,memory,rag,turso,vector
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Requires-Dist: libsql>=0.1.0
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# mymemo

Python SDK for [MyMemo](https://github.com/OntarioLT/mymemo) — Agent memory ledger on Turso/libSQL.

## Install

```bash
pip install mymemo
```

## Quick Start

```python
from mymemo import MyMemoConfig, create_clients, MemoryStore, rank
from mymemo.types import MemoryFactDraft, IncidentBase, SearchQuery
import time

# Configure
config = MyMemoConfig(
    routing={"primary": "wss://your-db.turso.io", "replica": "file:./local.db"}
)

# Connect
clients = create_clients(config)
store = MemoryStore(clients.writer, dimension=384)

# Write memory
meta = IncidentBase(scope="my-agent", incident_id="1", timestamp=int(time.time()))
store.write(MemoryFactDraft(content="User prefers dark mode", category="user_preference"), meta)

# Search
results = store.get_candidates(SearchQuery(scope="my-agent", keyword="dark"))
ranked = rank(results, SearchQuery(scope="my-agent"))
```

## Features

- **Idempotent writes** — SHA256 deterministic IDs, no duplicates
- **Hybrid search** — FTS5 full-text + vector similarity
- **Adaptive ranking** — time decay, category-specific tuning
- **GC** — automatic eviction of stale memories
- **NaN defense** — rejects invalid vectors at write time
- **Shared database** — compatible with the TypeScript core SDK

## License

MIT
