a2a-sdk0.3.7
a2a-sdk0.3.7
Published
A2A Python SDK
pip install a2a-sdk
Package Downloads
Authors
Project URLs
Requires Python
>=3.10
Dependencies
- google-api-core
>=1.26.0
- httpx-sse
>=0.4.0
- httpx
>=0.28.1
- protobuf
>=5.29.5
- pydantic
>=2.11.3
- cryptography
>=43.0.0; extra == "all"
- fastapi
>=0.115.2; extra == "all"
- grpcio-reflection
>=1.7.0; extra == "all"
- grpcio-tools
>=1.60; extra == "all"
- grpcio
>=1.60; extra == "all"
- opentelemetry-api
>=1.33.0; extra == "all"
- opentelemetry-sdk
>=1.33.0; extra == "all"
- sqlalchemy
[aiomysql,asyncio]>=2.0.0; extra == "all"
- sqlalchemy
[aiosqlite,asyncio]>=2.0.0; extra == "all"
- sqlalchemy
[asyncio,postgresql-asyncpg]>=2.0.0; extra == "all"
- sse-starlette
; extra == "all"
- starlette
; extra == "all"
- cryptography
>=43.0.0; extra == "encryption"
- grpcio-reflection
>=1.7.0; extra == "grpc"
- grpcio-tools
>=1.60; extra == "grpc"
- grpcio
>=1.60; extra == "grpc"
- fastapi
>=0.115.2; extra == "http-server"
- sse-starlette
; extra == "http-server"
- starlette
; extra == "http-server"
- sqlalchemy
[aiomysql,asyncio]>=2.0.0; extra == "mysql"
- sqlalchemy
[asyncio,postgresql-asyncpg]>=2.0.0; extra == "postgresql"
- sqlalchemy
[aiomysql,asyncio]>=2.0.0; extra == "sql"
- sqlalchemy
[aiosqlite,asyncio]>=2.0.0; extra == "sql"
- sqlalchemy
[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 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.