Metadata-Version: 2.5
Name: lite-agent-sdk
Version: 0.1.0
Summary: Minimal, lightweight, provider-agnostic LLM agent SDK
Project-URL: Repository, https://github.com/Zander073/lite-agent-sdk
Project-URL: Changelog, https://github.com/Zander073/lite-agent-sdk/blob/main/CHANGELOG.md
Project-URL: Documentation, https://github.com/Zander073/lite-agent-sdk/blob/main/docs/usage.md
Author: Zander Zemliak
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.13
Requires-Dist: anthropic<3,>=2.5.0
Requires-Dist: openai<4,>=3.46.0
Requires-Dist: pydantic<3,>=2.13.4
Description-Content-Type: text/markdown

# lite-agent-sdk

A small, async, provider-agnostic agent SDK for Python. It runs one agent turn at a time. You own the transcript.

## Install

```bash
uv add lite-agent-sdk
```

The OpenAI and Anthropic SDKs are installed with the package.

## API keys

Pass `api_key=` to `Agent`, or set the provider environment variable:

```bash
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
```

## Quick start

```python
import asyncio
from datetime import UTC, datetime
from uuid import uuid4

from lite_agent_sdk import Agent, Message


async def main() -> None:
    agent = Agent(
        model="anthropic/claude-haiku-4-5-20251001",
        system_prompt="Be brief.",
    )
    messages = [
        Message(id=str(uuid4()), role="user", content="Hello", created_at=datetime.now(UTC)),
    ]
    result = await agent.run(messages)
    print(result.output)


asyncio.run(main())
```

`model` is `provider/model-id`. Supported providers are `openai` and `anthropic`.

## Docs

- [Usage](docs/usage.md): agents, transcripts, tools, approval, streaming, and errors.
- [Structured output](docs/structured-output.md): `output_schema` and provider notes.
- [Technical design](docs/lite_agent_sdk_tdd.md): the target API and design decisions.
- [Changelog](CHANGELOG.md): published versions.

## Development

```bash
uv sync
make lint
make format
make test
```

Releases follow [docs/releasing.md](docs/releasing.md). Python 3.13 or newer is required.
