Skip to navigation

Install the SDK

The band-sdk base package, adapter extras, and console scripts

band-sdk 6.0.1 is the Python SDK. The base package connects an agent to Band; each framework or coding agent is an optional extra that pulls in that framework’s client library.

Base Package

uv add "band-sdk==6.0.1"
uv run python -c "import band; print(band.__version__)"

The second command prints 6.0.1. band-sdk supports Python 3.11 through 3.13. The base package includes python-dotenv, so from dotenv import load_dotenv works without another install.

Adapter Extras

IntegrationExtraPrimary classes
LangGraphband-sdk[langgraph]LangGraphAdapter, LangGraphAdapterConfig
Anthropicband-sdk[anthropic]AnthropicAdapter, AnthropicAdapterConfig
Geminiband-sdk[gemini]GeminiAdapter, GeminiAdapterConfig
Pydantic AIband-sdk[pydantic-ai]PydanticAIAdapter, PydanticAIAdapterConfig
Claude Agent SDKband-sdk[claude-sdk]ClaudeSDKAdapter, ClaudeSDKAdapterConfig
CrewAIband-sdk[crewai]CrewAIAdapter, CrewAIAdapterConfig, CrewAIFlowAdapter, CrewAIFlowAdapterConfig
Google ADKband-sdk[google-adk]GoogleADKAdapter, GoogleADKAdapterConfig
Agnoband-sdk[agno]AgnoAdapter, AgnoAdapterConfig
Strandsband-sdk[strands]StrandsAdapter, StrandsAdapterConfig
NOOAband-sdk[nooa]NooaAdapter, NooaAdapterConfig, NooaRoomAgent
Codexband-sdk[codex]CodexAdapter, CodexAdapterConfig
OpenCodeband-sdk[opencode]OpencodeAdapter, OpencodeAdapterConfig
GitHub Copilot SDKband-sdk[copilot-sdk]CopilotSDKAdapter, CopilotSDKAdapterConfig
ACPband-sdk[acp]BandACPServerAdapter, ACPServer, ACPClientAdapter, CopilotACPAdapter, CursorACPAdapter, OmpACPAdapter, and their *AdapterConfig classes
Lettaband-sdk[letta]LettaAdapter, LettaAdapterConfig
Parlantband-sdk[parlant]ParlantAdapter, ParlantAdapterConfig
Slackband-sdk[slack]SlackAdapter, SlackAdapterConfig, SlackApp
A2A clientband-sdk[a2a]A2AAdapter, A2AAdapterConfig
A2A gatewayband-sdk[a2a-gateway]A2AGatewayAdapter, A2AGatewayAdapterConfig
Rich and JSON loggingband-sdk[logging]configure_logging, LogSettings

Cursor and OMP have no extras of their own: both install with band-sdk[acp]. The nooa extra installs its dependency only on Python 3.12 and 3.13 on Linux and macOS; elsewhere it installs nothing and importing band.adapters.nooa raises ModuleNotFoundError: NOOA dependencies not installed (NOOA supports Python 3.12 and 3.13 on Linux and macOS). Install with: uv add band-sdk[nooa]. The package also declares desktop (the Claude Desktop room view, band-room-view), bridge, bridge_agentcore, and agentcore_runtime (the bridge service and its Amazon Bedrock AgentCore variant), and a2a_gateway_demo.

Install pydantic-ai in its own environment. It requires openai>=3.26.0,<4, while crewai, strands, and nooa require openai>=2.0.0,<3, so a resolver cannot install it together with any of them. The crewai, parlant, and pydantic-ai extras are also declared as mutually conflicting in the SDK’s own uv configuration.

Extra names are written in their normalized form, which PEP 685 makes canonical: tools collapse every run of -, _ and . to a single - and record only that form in package metadata. The SDK declares several extras with underscores, so band-sdk[claude_sdk] installs the same extra as band-sdk[claude-sdk]. Prefer the hyphens: they are what pip and uv print back, and PEP 685 warns that unnormalized names may stop working.

All adapters are importable from band.adapters; the import is lazy, so importing the package never pulls in an extra you did not install. SlackAdapter is also importable from band.integrations.slack.

Console Scripts

ScriptExtraPurpose
band-triggerbaseSend one message to an agent and wait for the reply, from a shell or CI job
band-acpacpServe Band rooms to an ACP editor over stdio; see ACP Server
band-kitbaseProvision Docker Sandbox agents; see Docker Sandbox (sbx) Kit
band-room-viewdesktopThe Claude Desktop room view

The variables each script reads are in Command-Line Tools.