freshcrate
Home > RAG & Memory > agent-client-protocol

agent-client-protocol

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

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.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.4.1.2
azure-search-documentsMicrosoft Azure Cognitive Search Client Library for Pythonazure-template_0.1.0b6187637
apache-tvm-ffitvm ffi0.1.10
luqumA Lucene query parser generating ElasticSearch queries and more !1.0.0
torchaoPackage for applying ao techniques to GPU models0.17.0