Metadata-Version: 2.4
Name: memoid
Version: 0.2.0
Summary: Python SDK for Memoid - AI Memory Layer
Project-URL: Homepage, https://memoid.dev
Project-URL: Documentation, https://memoid.dev/docs
Project-URL: Repository, https://github.com/capaxelabs/memoid-python
Author-email: Memoid <hello@memoid.dev>
License-Expression: MIT
Keywords: ai,embeddings,llm,memory,rag,vector
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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.8
Requires-Dist: httpx>=0.24.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest-httpx>=0.21; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1; extra == 'dev'
Description-Content-Type: text/markdown

# Memoid Python SDK

Python SDK for [Memoid](https://memoid.dev) - AI Memory Layer for intelligent applications.

## Installation

```bash
pip install memoid
```

## Quick Start

```python
from memoid import MemoryClient

client = MemoryClient("your-api-key")

# Add memory from conversation
memories = client.add(
    messages=[
        {"role": "user", "content": "I'm vegetarian and love Italian food"},
        {"role": "assistant", "content": "Great! I'll remember that."}
    ],
    user_id="user_123"
)

# Search memories
results = client.search(
    query="What dietary restrictions does the user have?",
    user_id="user_123"
)

for result in results:
    print(f"{result.memory} (score: {result.score})")
```

## Async Support

```python
from memoid import AsyncMemoryClient

async with AsyncMemoryClient("your-api-key") as client:
    memories = await client.add(
        messages=[{"role": "user", "content": "My favorite color is blue"}],
        user_id="user_123"
    )

    results = await client.search(query="favorite color", user_id="user_123")
```

## API Reference

### MemoryClient

#### `add(messages, user_id=None, agent_id=None, metadata=None)`
Add memories from a conversation.

#### `get(memory_id)`
Get a specific memory by ID.

#### `get_all(user_id=None, agent_id=None, limit=100, offset=0)`
Get all memories with optional filtering.

#### `search(query, user_id=None, agent_id=None, limit=10)`
Search memories using natural language.

#### `update(memory_id, memory, metadata=None)`
Update a memory.

#### `delete(memory_id)`
Delete a memory.

#### `delete_all(user_id=None, agent_id=None)`
Delete all memories with optional filtering.

#### `get_graph(user_id=None, agent_id=None)`
Get the knowledge graph.

## License

MIT
