A Python implement of Agent Client Protocol (ACP, by Zed Industries)
Project Links
Meta
Author: Chojan Shang, Frost Ming
Requires Python: <3.15,>=3.10
Classifiers
Intended Audience
- Developers
Programming Language
- Python
- Python :: 3
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
Topic
- Software Development :: Libraries :: Python Modules
Agent Client Protocol (Python)
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.
Install
pip install agent-client-protocol
# or
uv add agent-client-protocol
At a glance
- 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.
Who benefits
- 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.
How to get started
- 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.
Quick links
Project layout
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
Developer commands
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.
Community & support
- 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!
0.9.0
Mar 26, 2026
0.9.0a1
Mar 19, 2026
0.8.1
Feb 13, 2026
0.8.0
Feb 07, 2026
0.7.1
Dec 28, 2025
0.7.0
Dec 04, 2025
0.6.3
Nov 03, 2025
0.6.2
Oct 25, 2025
0.5.0
Oct 25, 2025
0.4.9
Oct 14, 2025
0.4.5
Oct 09, 2025
0.3.0
Sep 30, 2025
0.0.1
Sep 06, 2025