A2A Python SDK
Project Links
Meta
Author: Google LLC
Requires Python: >=3.10
Classifiers
Intended Audience
- Developers
License
- OSI Approved :: Apache Software License
Operating System
- OS Independent
Programming Language
- Python
- Python :: 3
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
Topic
- Software Development :: Libraries :: Python Modules
A2A Python SDK
A Python library for running agentic applications as A2A Servers, following the Agent2Agent (A2A) Protocol.
โจ Features
- 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)
๐ Getting Started
Prerequisites
- Python 3.10+
uv(recommended) orpip
๐ง Installation
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 |
| All Extras | uv add "a2a-sdk[all]" |
pip install "a2a-sdk[all]" |
| 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]" |
| Encryption | uv add "a2a-sdk[encryption]" |
pip install "a2a-sdk[encryption]" |
| Database Drivers | ||
| 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]" |
Examples
Helloworld Example
-
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.
๐ More Examples
You can find a variety of more detailed examples in the a2a-samples repository:
๐ค Contributing
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines on how to get involved.
๐ License
This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.
0.3.10
Oct 21, 2025
0.3.9
Oct 15, 2025
0.3.8
Oct 06, 2025
0.3.7
Sep 23, 2025
0.3.6
Sep 17, 2025
0.3.5
Sep 08, 2025
0.3.4
Sep 02, 2025
0.3.3
Aug 25, 2025
0.3.2
Aug 20, 2025
0.3.1
Aug 13, 2025
0.3.0
Jul 31, 2025
0.2.16
Jul 21, 2025
0.2.15
Jul 21, 2025
0.2.14
Jul 18, 2025
0.2.13
Jul 17, 2025
0.2.12
Jul 14, 2025
0.2.11
Jul 08, 2025
0.2.10
Jun 30, 2025
0.2.9
Jun 24, 2025
0.2.8
Jun 13, 2025
0.2.7
Jun 11, 2025
0.2.6
Jun 09, 2025
0.2.5
May 27, 2025
0.2.4
May 22, 2025
0.2.3
May 20, 2025
0.2.2
May 20, 2025
0.2.1
May 20, 2025
0.2.1a2
May 20, 2025
0.2.1a1
May 15, 2025
0.2.0a1
May 15, 2025
Wheel compatibility matrix
Files in release
Extras:
Dependencies:
google-api-core
(>=1.26.0)
httpx-sse
(>=0.4.0)
httpx
(>=0.28.1)
protobuf
(>=5.29.5)
pydantic
(>=2.11.3)