Skip to content
Projects

a2aproject/a2a-python has 2,226 GitHub stars and 533 forks. GitHot measured 0 stars in 24 hours and +5 in 7 days. Last checked 2026-11-04 23:06 UTC. Last push 2026-11-04.

How these counts are measured

Official Python SDK for the Agent2Agent (A2A) Protocol

What you can do

  • 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.
  • HTTP servers (FastAPI, Starlette)

Measured star growth

in 24h
0
in 7 days
+5
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

A2A Python SDK

License PyPI version PyPI - Python Version PyPI - Downloads Python Unit Tests

Ask Code Wiki
Agent2Agent Protocol Logo

A Python library for running agentic applications as A2A Servers, following the Agent2Agent (A2A) Protocol.


[!IMPORTANT] Upgrading the SDK from 0.3 to 1.0? See the v0.3 → v1.0 migration guide. For supported A2A spec versions, see Compatibility.

✨ 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:

🧩 Compatibility

This SDK implements the A2A Protocol Specification 1.0, with compatibility mode for 0.3. See #742 for details on the compatibility scope.

Spec Version Transport Client Server
1.0 JSON-RPC ✅ ✅
1.0 HTTP+JSON/REST ✅ ✅
1.0 gRPC ✅ ✅
0.3 (compat) JSON-RPC ✅ ✅
0.3 (compat) HTTP+JSON/REST ✅ ✅
0.3 (compat) gRPC ✅ ✅

🚀 Getting Started

Prerequisites

  • Python 3.10+
  • uv (recommended) or pip

🔧 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]"
FastAPI Integration uv add "a2a-sdk[fastapi]" pip install "a2a-sdk[fastapi]"
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

  1. Run Remote Agent

    git clone https://github.com/a2aproject/a2a-samples.git
    cd a2a-samples/samples/python/agents/helloworld
    uv run .
    
  2. In another terminal, run the client

    cd a2a-samples/samples/python/agents/helloworld
    uv run test_client.py
    
  3. 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.

Explore related projects