Metadata-Version: 2.4
Name: acp-sdk
Version: 1.0.3
Summary: Agent Communication Protocol SDK
Author: IBM Corp.
Maintainer-email: Tomas Pilar <thomas7pilar@gmail.com>
License-Expression: Apache-2.0
Requires-Python: <4.0,>=3.11
Requires-Dist: async-lru>=2.0.5
Requires-Dist: cachetools>=5.5
Requires-Dist: fastapi[standard]>=0.115
Requires-Dist: httpx-sse>=0.4
Requires-Dist: httpx>=0.26
Requires-Dist: janus>=2.0
Requires-Dist: obstore>=0.6
Requires-Dist: opentelemetry-api>=1.31
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.31
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.52b1
Requires-Dist: opentelemetry-instrumentation-httpx>=0.52b1
Requires-Dist: opentelemetry-sdk>=1.31
Requires-Dist: psycopg[binary]>=3.2
Requires-Dist: pydantic>=2.0
Requires-Dist: redis>=6.1
Description-Content-Type: text/markdown

# Agent Communication Protocol SDK for Python

Agent Communication Protocol SDK for Python helps developers to serve and consume agents over the Agent Communication Protocol.

## Prerequisites

✅ Python >= 3.11

## Installation

Install according to your Python package manager:

- `uv add acp-sdk`
- `pip install acp-sdk`
- `poetry add acp-sdk`
- ...

## Quickstart

Register an agent and run the server:

```py
server = Server()

@server.agent()
async def echo(input: list[Message]):
    """Echoes everything"""
    for message in input:
        yield message

server.run(port=8000)
```

From another process, connect to the server and run the agent:

```py
async with Client(base_url="http://localhost:8000") as client:
    run = await client.run_sync(agent="echo", input=[Message(parts=[MessagePart(content="Howdy!")])])
    print(run)

```


➡️ Explore more in our [examples library](/examples/python).
