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.
Feature | uv Command |
pip Command |
---|---|---|
Core SDK | uv add a2a-sdk |
pip install a2a-sdk |
HTTP Server | uv add "a2a-sdk[http-server]" |
pip install "a2a-sdk[http-server]" |
gRPC Support | uv add "a2a-sdk[grpc]" |
pip install "a2a-sdk[grpc]" |
OpenTelemetry Tracing | uv add "a2a-sdk[telemetry]" |
pip install "a2a-sdk[telemetry]" |
Install the necessary drivers for your chosen SQL database.
Database | uv Command |
pip Command |
---|---|---|
PostgreSQL | uv add "a2a-sdk[postgresql]" |
pip install "a2a-sdk[postgresql]" |
MySQL | uv add "a2a-sdk[mysql]" |
pip install "a2a-sdk[mysql]" |
SQLite | uv add "a2a-sdk[sqlite]" |
pip install "a2a-sdk[sqlite]" |
All SQL Drivers | uv add "a2a-sdk[sql]" |
pip install "a2a-sdk[sql]" |
-
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.