Catalog PyPI
Back to packageRELEASE DETAILS

0.12.1

PyPI

agent-client-protocol

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

python
Published16 Aug 2026
Direct dependencies5
Transitive dependenciesNot calculated

README

Version 0.12.1 documentation
Agent Client Protocol

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.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.

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.

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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 5

Native requirements
5 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "<3.15,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic>=2.7runtime
logfire
Environment
{
  "extras": "",
  "marker": "extra == \"logfire\"",
  "requires_python": "<3.15,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
logfire>=0.14; extra == "logfire"runtime
opentelemetry-sdk
Environment
{
  "extras": "",
  "marker": "extra == \"logfire\"",
  "requires_python": "<3.15,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
opentelemetry-sdk>=1.28.0; extra == "logfire"runtime
httpx
Environment
{
  "extras": "http2",
  "marker": "extra == \"http\"",
  "requires_python": "<3.15,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
httpx[http2]>=0.27; extra == "http"runtime
websockets
Environment
{
  "extras": "",
  "marker": "extra == \"http\"",
  "requires_python": "<3.15,>=3.10",
  "evaluation": "NOT_EVALUATED"
}
websockets>=12.0; extra == "http"runtime

Distribution files

2 collected
agent_client_protocol-0.12.1-py3-none-any.whl

bdist_wheel · 83.92 KB · Python py3

Source file
agent_client_protocol-0.12.1.tar.gz

sdist · 127.54 KB · Python source

Source file

Repository

PENDING
agentclientprotocol/python-sdk

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:39 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:08b48d6598c09bd5bdd7197be9dd6f95e5e8763d19dbb42b15aee8ef018ca4f5

Other collected versions

View all collected versions →