Skip to content

Package agent_arena_sdk for pip install (pyproject.toml) #79

@justinmadison

Description

@justinmadison

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

  • pyproject.toml with proper metadata, version, and dependencies
  • pip install -e python/sdk/ works from repo root
  • All starters work after installing the SDK package
  • Public API is clean: from agent_arena_sdk import AgentArena, Observation, Decision
  • Framework-specific dependencies are NOT in the core SDK (they go in starter requirements.txt)
  • Version pinned to match project version in project.godot

Estimated Effort

Half day

Dependencies

  • Should follow SDK consolidation issue (single API to package)
  • Blocks all starters having a clean install experience

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions