Problem
The starters import from agent_arena_sdk import AgentArena, Observation, Decision but there's no proper Python package configuration. Currently this works because starters manipulate sys.path or are run from specific directories.
For the target user experience — clone a starter, pip install, run — the SDK needs to be a proper installable package.
Proposed Solution
Add a pyproject.toml to the SDK package so users can install it:
# From the repo root
pip install -e python/sdk/
# Or from a starter
pip install agent-arena-sdk # if published to PyPI eventually
Package Structure
python/sdk/
├── pyproject.toml # Package metadata, dependencies
├── agent_arena_sdk/
│ ├── __init__.py # Public API exports
│ ├── arena.py # AgentArena class
│ ├── schemas/ # Observation, Decision, ToolSchema
│ ├── server/ # MinimalIPCServer
│ └── adapters/ # Framework adapter base (from #74)
└── README.md # Package docs
Starter requirements.txt
agent-arena-sdk # Core SDK
# Framework-specific:
langchain-core>=0.3 # Only in langchain starter
anthropic>=0.40 # Only in claude-sdk starter
Acceptance Criteria
Estimated Effort
Half day
Dependencies
- Should follow SDK consolidation issue (single API to package)
- Blocks all starters having a clean install experience
Problem
The starters import
from agent_arena_sdk import AgentArena, Observation, Decisionbut there's no proper Python package configuration. Currently this works because starters manipulatesys.pathor are run from specific directories.For the target user experience — clone a starter, pip install, run — the SDK needs to be a proper installable package.
Proposed Solution
Add a
pyproject.tomlto the SDK package so users can install it:Package Structure
Starter requirements.txt
Acceptance Criteria
pyproject.tomlwith proper metadata, version, and dependenciespip install -e python/sdk/works from repo rootfrom agent_arena_sdk import AgentArena, Observation, Decisionproject.godotEstimated Effort
Half day
Dependencies