Metadata-Version: 2.4
Name: atp-platform-sdk
Version: 2.0.0
Summary: Python SDK for ATP benchmark platform — run benchmarks, submit results, view leaderboards
Project-URL: Homepage, https://github.com/andrei-shtanakov/atp-platform
Project-URL: Documentation, https://github.com/andrei-shtanakov/atp-platform/tree/main/packages/atp-sdk
Project-URL: Repository, https://github.com/andrei-shtanakov/atp-platform
Author: Andrei Shtanakov
License: MIT
Keywords: agents,ai,benchmarks,evaluation,testing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.12
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: pytest-anyio; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# atp-sdk

Python SDK for the [ATP (Agent Test Platform)](https://github.com/andrei-shtanakov/atp-platform) benchmark platform.

## Installation

```bash
uv add atp-platform-sdk
```

## Quick Start

```python
from atp_sdk import ATPClient

client = ATPClient(platform_url="https://atp.pr0sto.space")
client.login()  # GitHub Device Flow — opens browser

benchmarks = client.list_benchmarks()
run = client.start_run(benchmarks[0].id, agent_name="my-agent")

for task in run:
    response = my_agent(task)  # your agent logic
    run.submit(response, task_index=task["metadata"]["task_index"])

print(run.status())
print(run.leaderboard())
```

## Authentication

Three ways to authenticate (checked in order):

1. **Explicit token**: `ATPClient(token="...")`
2. **Environment variable**: `ATP_TOKEN=...`
3. **Saved token**: `client.login()` saves to `~/.atp/config.json`

## License

MIT
