freshcrate
Skin:/
Home > RAG & Memory > agent-client-protocol

agent-client-protocol

A Python implement of Agent Client Protocol (ACP, by Zed Industries)

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

<a href="https://agentclientprotocol.com/"> <img alt="Agent Client Protocol" src="https://zed.dev/img/acp/banner-dark.webp"> </a> # 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 ```bash pip install agent-client-protocol # or uv add agent-client-protocol ``` ## At a glance - **Spec parity:** Generated Pydantic models in `acp.schema` track 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.helpers` mirrors 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](https://agentclientprotocol.github.io/python-sdk/use-cases/). ## How to get started - Follow the [Quickstart guide](https://agentclientprotocol.github.io/python-sdk/quickstart/) for installation, echo-agent validation, editor wiring (e.g. Zed), and programmatic launch recipes. - Browse the [example gallery](https://github.com/agentclientprotocol/python-sdk/tree/main/examples) to see progressively richer integrations you can copy or extend. - Skim the [docs hub](https://agentclientprotocol.github.io/python-sdk/) for focused references on contrib helpers, releasing, and transport details. ## Quick links | Need | Link | |--------------------|------------------------------------------------------------------------| | Docs hub | <https://agentclientprotocol.github.io/python-sdk/> | | Quickstart | <https://agentclientprotocol.github.io/python-sdk/quickstart/> | | Use cases | <https://agentclientprotocol.github.io/python-sdk/use-cases/> | | Contrib helpers | <https://agentclientprotocol.github.io/python-sdk/contrib/> | | Releasing workflow | <https://agentclientprotocol.github.io/python-sdk/releasing/> | | Examples | <https://github.com/agentclientprotocol/python-sdk/tree/main/examples> | | Tests | <https://github.com/agentclientprotocol/python-sdk/tree/main/tests> | | PyPI | <https://pypi.org/project/agent-client-protocol/> | ## Project layout - `src/acp/`: runtime package (agents, clients, transports, helpers, schema bindings, contrib utilities) - `schema/`: upstream JSON schema sources (regenerate via `make gen-all`) - `docs/`: MkDocs content backing the published documentation - `examples/`: runnable scripts covering stdio orchestration patterns - `tests/`: pytest suite with golden fixtures and optional Gemini coverage ## Developer commands - `make install` provisions the `uv` virtualenv and installs pre-commit hooks. - `make check` runs Ruff formatting/linting, type analysis, dependency hygiene, and lock verification. - `make test` executes `pytest` (with doctests) inside the managed environment. - `ACP_SCHEMA_VERSION=<ref> make gen-all` refreshes 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!

Release History

VersionChangesUrgencyDate
0.12.1## What's Changed * fix(codegen): support datamodel-code-generator 0.71 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/127 * chore(deps): bump h2 from 4.3.0 to 4.4.1 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/131 * refactor(connection): simplify connection handling and remove unused components by @frostming in https://github.com/agentclientprotocol/python-sdk/pull/132 * chore(deps): bump pymdown-extenHigh8/16/2026
0.12.0## What's Changed * feat(schema): bump ACP schema to v1.19.0 (extensible unions + lenient deserialization) by @michelTho in https://github.com/agentclientprotocol/python-sdk/pull/117 * RFD-based ACP HTTP and WS web transport implementation by @federicociner in https://github.com/agentclientprotocol/python-sdk/pull/118 * chore(deps-dev): bump datamodel-code-generator from 0.35.0 to 0.64.0 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdMedium8/1/2026
0.11.1## What's Changed * fix(connection): log unhandled RPC handler exceptions by @michelTho in https://github.com/agentclientprotocol/python-sdk/pull/116 * package scritps/ directory as well by @mcepl in https://github.com/agentclientprotocol/python-sdk/pull/120 * chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/121 * chore: bump version to 0.11.1 by @PsiACE in https://githHigh7/27/2026
0.11.0## What's Changed * chore(deps): bump uv from 0.11.6 to 0.11.15 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/107 * feat: update ACP schema to v0.13.3 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/106 * feat: update ACP schema to v0.13.6 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/110 * fix: recover from oversized JSON-RPC frames by @PsiACE in https://github.com/agentclientprotoHigh7/5/2026
0.10.1## What's Changed * chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/96 * chore(deps): bump pymdown-extensions from 10.16.1 to 10.21.3 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/99 * chore(deps): bump idna from 3.11 to 3.15 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotoHigh5/24/2026
0.10.0## What's Changed * chore(deps): bump uv from 0.9.7 to 0.11.6 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/88 * chore(deps-dev): bump pytest from 8.4.2 to 9.0.3 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/89 * fix: reject pending requests on EOF to prevent infinite hang by @simonrosenberg in https://github.com/agentclientprotocol/python-sdk/pull/86 * chore(High5/7/2026
0.9.0Imported from PyPI (0.9.0)Low4/21/2026
0.9.0a1## What's Changed * fix(docs): correct nested agent server entry in Quickstart uv example by @ftnext in https://github.com/agentclientprotocol/python-sdk/pull/77 * feat(examples): Add PEP 723 metadata to echo_agent for just `uv run` by @ftnext in https://github.com/agentclientprotocol/python-sdk/pull/76 * chore(deps): bump black from 25.9.0 to 26.3.1 in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/79 * feat(schema): upgrade ACPLow3/19/2026
0.8.1## What's Changed * chore(deps): bump the uv group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/agentclientprotocol/python-sdk/pull/65 * feat: add protocol method for `session/set_config_option` by @Nemtecl in https://github.com/agentclientprotocol/python-sdk/pull/69 ## New Contributors * @dependabot[bot] made their first contribution in https://github.com/agentclientprotocol/python-sdk/pull/65 * @Nemtecl made their first contribution in https://github.com/aLow2/13/2026
0.8.0## What's Changed * feat: bump acp schema version to 0.10.5 by @stdrc in https://github.com/agentclientprotocol/python-sdk/pull/52 * fix: remove TerminalHandle by @frostming in https://github.com/agentclientprotocol/python-sdk/pull/56 * docs: Add missing prop to settings.json in ACP quickstart, add uv example by @jacoblee93 in https://github.com/agentclientprotocol/python-sdk/pull/57 * feat: Increase default stdio buffer limit and allow configuration by @jacoblee93 in https://github.com/agenLow2/7/2026
0.7.1## What's Changed * feat: Update schema to v0.10.3, support fork_session and resume_session unstable API by @frostming in https://github.com/agentclientprotocol/python-sdk/pull/48 * fix: align create_terminal return type with runtime handle by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/50 * chore: bump version to 0.7.1 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/53 **Full Changelog**: https://github.com/agentclientprotocol/python-sdk/comparLow12/28/2025
0.7.0 ## Highlights - First official release after joining the agentclientprotocol org. - Major Pythonic refactor and API polish with help from @frostming; snake_case naming and schema-driven method generation across the SDK. ## What's Changed - fix: not support 3.14 yet by @yihong0618 in https://github.com/agentclientprotocol/python-sdk/pull/23 - chore: try to support py314 by @PsiACE in https://github.com/agentclientprotocol/python-sdk/pull/24 - docs: fix all the brokeLow12/4/2025
0.6.3## What's Changed * feat: improve type annotations in RequestError methods by @2725244134 in https://github.com/PsiACE/agent-client-protocol-python/pull/17 * fix: preserve _meta during ACP serialization by @PsiACE in https://github.com/PsiACE/agent-client-protocol-python/pull/20 * feat: follow agent-client-protocol 0.6.3 by @PsiACE in https://github.com/PsiACE/agent-client-protocol-python/pull/21 ## New Contributors * @2725244134 made their first contribution in https://github.com/PsiACE/Low11/3/2025
0.6.2- follow the agent-client-protocol 0.6.x -> 0.6..2 - Add ability for agents and clients to provide information about their implementation - minor update for examplesLow10/25/2025
0.5.0### Breaking changes - `acp.helpers.embedded_text_resource` and `embedded_blob_resource` now return `TextResourceContents` / `BlobResourceContents` rather than the wrapper class. Wrap those results with `helpers.resource_block(...)` when emitting embedded resources. ### Highlights - Track upstream agent-client-protocol v0.5.0, including support for `AvailableCommandsUpdate`, `CurrentModeUpdate`, session mode metadata, and raw tool-call `rawInput` / `rawOutput` fields acLow10/25/2025
0.4.9This release brings the SDK close to production readiness — rebuilt with stronger foundations and a clearer developer experience. ## Highlights - Supervised queue/state store for deterministic IO and concurrency. - Dedicated message routers with Pydantic validation. - Optional telemetry via Logfire / OpenTelemetry integration. - New helper builders and subprocess spawners for clean embedding. - Improved documentation, examples, and test coverage. **Upstream Spec:** Regenerated againLow10/14/2025
0.4.5## What's Changed - Ergonomic type generation with well-planned naming mappings - Schema type generation accepts version input - Tracked upstream changes up to 0.4.5 - Prevented receive-loop blocking on callback-dependent requests * feat: follow 0.4.5 by @PsiACE in https://github.com/PsiACE/agent-client-protocol-python/pull/7 **Full Changelog**: https://github.com/PsiACE/agent-client-protocol-python/compare/0.3.0...0.4.5Low10/9/2025
0.3.0## What's Changed <img width="786" height="463" alt="image" src="https://github.com/user-attachments/assets/f79d744b-f03e-4674-b4a2-140b74e57257" /> - Follow: https://github.com/zed-industries/agent-client-protocol/releases/tag/v0.3.0 - Add a acp client for mini-swe-agent ## New Contributors * @PsiACE made their first contribution in https://github.com/PsiACE/agent-client-protocol-python/pull/4 **Full Changelog**: https://github.com/PsiACE/agent-client-protocol-python/compare/0.0.1Low9/30/2025
0.0.1A minimal Python SDK for the Agent Client Protocol (ACP). Build agents that talk to ACP clients (e.g. Zed) over stdio. - Package: `agent-client-protocol` (import as `acp`) - Docs: https://psiace.github.io/agent-client-protocol-python/ ## Install ```bash pip install agent-client-protocol ``` ## Minimal agent ```python import asyncio from acp import Agent, AgentSideConnection, Client, InitializeRequest, InitializeResponse, PromptRequest, PromptResponse, SessionNotification, stdLow9/6/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

astroidAn abstract syntax tree for Python with inference support.v4.3.1
banksA prompt programming languagemain@2026-09-10
pytorch-lightningPyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate.2.6.6
cadwynProduction-ready community-driven modern Stripe-like API versioning in FastAPI7.3.0
ragtable-extractExtract tables precisely from PDFs and convert them to clean HTML for RAG pipelines, running fast on CPU without external dependencies.main@2026-09-09

More from pypi

markitdownUtility tool for converting various files to Markdown
fastapiFastAPI framework, high performance, easy to learn, fast to code, ready for production
djangoA high-level Python web framework that encourages rapid development and clean, pragmatic design.
flaskA simple framework for building complex web applications.

More in RAG & Memory

pytorch-lightningPyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate.
banksA prompt programming language
opikDebug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards.
pdf_oxideThe fastest PDF library for Python and Rust. Text extraction, image extraction, markdown conversion, PDF creation & editing. 0.8ms mean, 5× faster than industry leaders, 100% pass rate on 3,830 PDFs.