a2a-sdk0.3.0
Published
A2A Python SDK
pip install a2a-sdk
Package Downloads
Authors
Project URLs
Requires Python
>=3.10
Dependencies
- fastapi
>=0.95.0
- google-api-core
>=1.26.0
- httpx-sse
>=0.4.0
- httpx
>=0.28.1
- protobuf
==5.29.5
- pydantic
>=2.11.3
- sse-starlette
- starlette
- cryptography
>=43.0.0; extra == "encryption"
- grpcio-reflection
>=1.7.0; extra == "grpc"
- grpcio-tools
>=1.60; extra == "grpc"
- grpcio
>=1.60; extra == "grpc"
- sqlalchemy
[aiomysql,asyncio]>=2.0.0; extra == "mysql"
- sqlalchemy
[asyncio,postgresql-asyncpg]>=2.0.0; extra == "postgresql"
- sqlalchemy
[aiomysql,aiosqlite,asyncio,postgresql-asyncpg]>=2.0.0; extra == "sql"
- sqlalchemy
[aiosqlite,asyncio]>=2.0.0; extra == "sqlite"
- opentelemetry-api
>=1.33.0; extra == "telemetry"
- opentelemetry-sdk
>=1.33.0; extra == "telemetry"
A2A Python SDK
A Python library that helps run agentic applications as A2AServers following the Agent2Agent (A2A) Protocol.
Installation
You can install the A2A SDK using either uv
or pip
.
Prerequisites
- Python 3.10+
uv
(optional, but recommended) orpip
Using uv
When you're working within a uv project or a virtual environment managed by uv, the preferred way to add packages is using uv add.
uv add a2a-sdk
To install with gRPC support:
uv add "a2a-sdk[grpc]"
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]"
Using pip
If you prefer to use pip, the standard Python package installer, you can install a2a-sdk
as follows
pip install a2a-sdk
To install with gRPC support:
pip install "a2a-sdk[grpc]"
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]"
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.
You can also find more Python samples here and JavaScript samples here.
License
This project is licensed under the terms of the Apache 2.0 License.
Contributing
See CONTRIBUTING.md for contribution guidelines.