Metadata-Version: 2.4
Name: mnemo-sdk
Version: 0.1.1
Summary: Memory and observability for AI agents. Two lines of code to give any agent persistent memory and full trace visibility.
Project-URL: Homepage, https://usemnemo.com
Project-URL: Documentation, https://usemnemo.com/docs/self-hosting
Project-URL: Repository, https://github.com/DharmaDhillon/mnemo
Author: Mnemo Contributors
License-Expression: MIT
Keywords: agents,ai,llm,memory,observability,tracing
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: langfuse>=2.0.0
Requires-Dist: mem0ai>=0.1.0
Requires-Dist: python-dotenv>=1.0.0
Provides-Extra: all
Requires-Dist: mnemo[anthropic,langfuse,mem0,openai,otel]; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.30.0; extra == 'anthropic'
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: langfuse
Requires-Dist: langfuse>=2.0.0; extra == 'langfuse'
Provides-Extra: openai
Requires-Dist: openai>=1.30.0; extra == 'openai'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20.0; extra == 'otel'
Requires-Dist: opentelemetry-exporter-otlp>=1.20.0; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == 'otel'
Description-Content-Type: text/markdown

# mnemo

Memory and observability for AI agents. Two lines of code.

```python
from mnemo import MnemoClient

mnemo = MnemoClient(tenant_id="your-tenant")
result = mnemo.run(agent_id="my-agent", prompt="Hello, world!")
```

That's it. Your agent now has persistent memory and full trace visibility.

## Install

```bash
pip install mnemo

# With all integrations
pip install mnemo[all]

# Pick what you need
pip install mnemo[anthropic,mem0,langfuse]
```

## What happens when you call `mnemo.run()`

1. Retrieves relevant memories from past runs
2. Injects them into the prompt context
3. Calls your LLM (Claude, OpenAI, or any custom function)
4. Logs the full trace to Langfuse + OpenTelemetry
5. Extracts new memories from the response
6. Checks alert rules and fires if needed
7. Returns the response — unchanged

## Configuration

```python
from mnemo import MnemoClient
from mnemo.client import LLMConfig

mnemo = MnemoClient(
    tenant_id="acme-corp",
    llm=LLMConfig(provider="anthropic", model="claude-sonnet-4-20250514"),
    debug=True,
)
```

Or use environment variables:

```bash
export MNEMO_MEM0_API_KEY=your-key
export MNEMO_LANGFUSE_PUBLIC_KEY=your-key
export MNEMO_LANGFUSE_SECRET_KEY=your-key
export ANTHROPIC_API_KEY=your-key
```

## License

MIT
