A Python library for running agentic applications as A2A Servers, following the Agent2Agent (A2A) Protocol.
- A2A Protocol Compliant: Build agentic applications that adhere to the Agent2Agent (A2A) Protocol.
- Extensible: Easily add support for different communication protocols and database backends.
- Asynchronous: Built on modern async Python for high performance.
- Optional Integrations: Includes optional support for:
- HTTP servers (FastAPI, Starlette)
- gRPC
- OpenTelemetry for tracing
- SQL databases (PostgreSQL, MySQL, SQLite)
- Python 3.10+
uv(recommended) orpip
Install the core SDK and any desired extras using your preferred package manager.
<<<<<<< HEAD
uv add a2a-sdkTo include the optional HTTP server components (FastAPI, Starlette), install the http-server extra:
uv add a2a-sdk[http-server]To install with gRPC support:
uv add "a2a-sdk[grpc]"To install with Kafka transport support:
uv add "a2a-sdk[kafka]"To install with OpenTelemetry tracing support:
uv add "a2a-sdk[telemetry]"To install with database support:
# PostgreSQL support
uv add "a2a-sdk[postgresql]"
# MySQL support
uv add "a2a-sdk[mysql]"
# SQLite support
uv add "a2a-sdk[sqlite]"
# All database drivers
uv add "a2a-sdk[sql]"If you prefer to use pip, the standard Python package installer, you can install a2a-sdk as follows
pip install a2a-sdkTo include the optional HTTP server components (FastAPI, Starlette), install the http-server extra:
pip install a2a-sdk[http-server]To install with gRPC support:
pip install "a2a-sdk[grpc]"To install with Kafka transport support:
pip install "a2a-sdk[kafka]"To install with OpenTelemetry tracing support:
pip install "a2a-sdk[telemetry]"To install with database support:
# PostgreSQL support
pip install "a2a-sdk[postgresql]"
# MySQL support
pip install "a2a-sdk[mysql]"
# SQLite support
pip install "a2a-sdk[sqlite]"
# All database drivers
pip install "a2a-sdk[sql]"af776e6 (kafka)
-
Run Remote Agent
git clone https://github.com/a2aproject/a2a-samples.git cd a2a-samples/samples/python/agents/helloworld uv run .
-
In another terminal, run the client
cd a2a-samples/samples/python/agents/helloworld uv run test_client.py -
You can validate your agent using the agent inspector. Follow the instructions at the a2a-inspector repo.
You can find a variety of more detailed examples in the a2a-samples repository:
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines on how to get involved.
This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.
