Metadata-Version: 2.4
Name: aiagentnotes
Version: 0.1.0
Summary: SparkNotes for your AI agents — log runs to AgentNotes with one pip install and env vars.
Project-URL: Homepage, https://github.com/mattmerrick/agentnotes
Project-URL: Documentation, https://github.com/mattmerrick/agentnotes/tree/main/sdk
Project-URL: Repository, https://github.com/mattmerrick/agentnotes
Author-email: AgentNotes <yomatt41@gmail.com>
License-Expression: MIT
Keywords: agents,ai,langchain,logging,observability,railway
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.9
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 :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: dotenv
Requires-Dist: python-dotenv>=1.0.0; extra == 'dotenv'
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2.0; extra == 'langchain'
Description-Content-Type: text/markdown

# AgentNotes Python SDK

SparkNotes for your AI agents. Install once, set env vars, call `AgentNotes.from_env()`.

## Install (PyPI)

```bash
pip install aiagentnotes
```

Optional local `.env` support:

```bash
pip install "aiagentnotes[dotenv]"
```

## Environment variables

See **[ENV.md](./ENV.md)** for the full list.

**Minimum:**

```bash
export AGENTNOTES_API_KEY="an_xxxxxxxx"
export AGENTNOTES_AGENT_ID="my-bot-slug"
export AGENTNOTES_BASE_URL="https://your-agentnotes.vercel.app"
```

## Quick start

```python
from aiagentnotes import AgentNotes

notes = AgentNotes.from_env()

@notes.track("handle_request")
def handle_request(req):
    notes.log("received", data={"id": getattr(req, "id", None)})
    notes.complete_run({"summary": "Done"})
```

## Optional: logging only when configured

```python
from aiagentnotes import get_client

notes = get_client()
if notes:
    notes.log("bot started")
```

## API

| Method | Description |
|--------|-------------|
| `AgentNotes.from_env()` | Build client from `AGENTNOTES_*` env vars |
| `get_client()` | Same, or `None` if not configured |
| `require_client()` | Same, or raise with setup instructions |
| `notes.log(message, ...)` | Log an event |
| `notes.complete_run(result)` | Finish run |
| `notes.track("step")` | Decorator for a step |

## Development (this monorepo)

```bash
cd sdk && pip install -e ".[dev,dotenv]"
```

## Publish to PyPI

See [../docs/PUBLISHING.md](../docs/PUBLISHING.md).
