Build ACP-compliant agents and clients in Python with generated schema models, asyncio transports, helper builders, and runnable demos.
Releases track the upstream ACP schema; contributions that tighten coverage or tooling are always welcome.
pip install agent-client-protocol
# or
uv add agent-client-protocol- Spec parity: Generated Pydantic models in
acp.schematrack every ACP release so payloads stay valid. - Runtime ergonomics: Async base classes, stdio JSON-RPC plumbing, and lifecycle helpers keep custom agents tiny.
- Examples ready: Streaming, permissions, Gemini bridge, and duet demos live under
examples/. - Helper builders:
acp.helpersmirrors the Go/TS SDK APIs for content blocks, tool calls, and session updates. - Contrib utilities: Session accumulators, tool call trackers, and permission brokers share patterns from real deployments.
- Agent authors who need typed models, helper builders, and event-stream ergonomics for ACP-compatible assistants.
- Client integrators embedding ACP parties inside Python applications or wrapping existing CLIs via stdio.
- Tooling teams experimenting with permission flows, streaming UX, or Gemini bridges without re-implementing transports. See real adopters like kimi-cli in the Use Cases list.
- Follow the Quickstart guide for installation, echo-agent validation, editor wiring (e.g. Zed), and programmatic launch recipes.
- Browse the example gallery to see progressively richer integrations you can copy or extend.
- Skim the docs hub for focused references on contrib helpers, releasing, and transport details.
src/acp/: runtime package (agents, clients, transports, helpers, schema bindings, contrib utilities)schema/: upstream JSON schema sources (regenerate viamake gen-all)docs/: MkDocs content backing the published documentationexamples/: runnable scripts covering stdio orchestration patternstests/: pytest suite with golden fixtures and optional Gemini coverage
make installprovisions theuvvirtualenv and installs pre-commit hooks.make checkruns Ruff formatting/linting, type analysis, dependency hygiene, and lock verification.make testexecutespytest(with doctests) inside the managed environment.ACP_SCHEMA_VERSION=<ref> make gen-allrefreshes protocol artifacts when the schema advances.
Keep docs and examples current whenever you ship public API or transport changes, and prefer Conventional Commits (feat:, fix:, etc.) when submitting patches.
- File issues or feature requests at https://github.com/agentclientprotocol/python-sdk.
- Discuss ideas or get help via GitHub Discussions: https://github.com/agentclientprotocol/python-sdk/discussions.
- Join the broader ACP conversations at https://agentclientprotocol.com/, the Zed community channels, or the community Zulip: https://agentclientprotocol.zulipchat.com/.
- Shared learnings, integrations, or third-party transports are welcome additions to the documentation—open a PR!