Metadata-Version: 2.4
Name: mymemo
Version: 0.2.0
Summary: Python SDK for MyMemo — HTTP client for the MyMemo memory ledger
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: httpx>=0.27.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) — HTTP client for the MyMemo memory ledger.

## 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 — point to running MyMemo server
config = MyMemoConfig(
    server_url="http://localhost:3000",
)

# Connect
clients = create_clients(config)
store = MemoryStore(clients, 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

- **HTTP client** — calls the TypeScript core API, no direct database access
- **Idempotent writes** — server-side SHA256 deterministic IDs
- **Hybrid search** — FTS5 full-text + vector similarity via server
- **Adaptive ranking** — server-side time decay, category-specific tuning
- **GC** — server-side automatic eviction of stale memories

## License

MIT
