a2aproject/a2a-python

Official Python SDK for the Agent2Agent (A2A) Protocol

2,138

stars

741

commits

Python

primary language

Sep 10, 2026

updated

a2a-protocol.org/latest/sdk/python/api/
a2a
a2a-client
a2a-mcp
a2a-protocol
a2a-server
agent2agent
agents
generative-ai
Browse cluster: AI Agent Frameworks & Integration

README

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 VersionTransportClientServer
1.0JSON-RPC
1.0HTTP+JSON/REST
1.0gRPC
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.

Featureuv Commandpip Command
Core SDKuv add a2a-sdkpip install a2a-sdk
All Extrasuv add "a2a-sdk[all]"pip install "a2a-sdk[all]"
HTTP Serveruv add "a2a-sdk[http-server]"pip install "a2a-sdk[http-server]"
FastAPI Integrationuv add "a2a-sdk[fastapi]"pip install "a2a-sdk[fastapi]"
gRPC Supportuv add "a2a-sdk[grpc]"pip install "a2a-sdk[grpc]"
OpenTelemetry Tracinguv add "a2a-sdk[telemetry]"pip install "a2a-sdk[telemetry]"
Encryptionuv add "a2a-sdk[encryption]"pip install "a2a-sdk[encryption]"
Database Drivers
PostgreSQLuv add "a2a-sdk[postgresql]"pip install "a2a-sdk[postgresql]"
MySQLuv add "a2a-sdk[mysql]"pip install "a2a-sdk[mysql]"
SQLiteuv add "a2a-sdk[sqlite]"pip install "a2a-sdk[sqlite]"
All SQL Driversuv 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.

Contributors

(top 30 of 88)

ishymko

134 commits

holtskinner

106 commits

a2a-bot

73 commits

kthota-g

50 commits

a2aproject/a2a-python

Official Python SDK for the Agent2Agent (A2A) Protocol

2,138

stars

741

commits

Python

primary language

Sep 10, 2026

updated

a2a-protocol.org/latest/sdk/python/api/
a2a
a2a-client
a2a-mcp
a2a-protocol
a2a-server
agent2agent
agents
generative-ai
Browse cluster: AI Agent Frameworks & Integration

README

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 VersionTransportClientServer
1.0JSON-RPC
1.0HTTP+JSON/REST
1.0gRPC
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.

Featureuv Commandpip Command
Core SDKuv add a2a-sdkpip install a2a-sdk
All Extrasuv add "a2a-sdk[all]"pip install "a2a-sdk[all]"
HTTP Serveruv add "a2a-sdk[http-server]"pip install "a2a-sdk[http-server]"
FastAPI Integrationuv add "a2a-sdk[fastapi]"pip install "a2a-sdk[fastapi]"
gRPC Supportuv add "a2a-sdk[grpc]"pip install "a2a-sdk[grpc]"
OpenTelemetry Tracinguv add "a2a-sdk[telemetry]"pip install "a2a-sdk[telemetry]"
Encryptionuv add "a2a-sdk[encryption]"pip install "a2a-sdk[encryption]"
Database Drivers
PostgreSQLuv add "a2a-sdk[postgresql]"pip install "a2a-sdk[postgresql]"
MySQLuv add "a2a-sdk[mysql]"pip install "a2a-sdk[mysql]"
SQLiteuv add "a2a-sdk[sqlite]"pip install "a2a-sdk[sqlite]"
All SQL Driversuv 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.

Contributors

(top 30 of 88)

ishymko

134 commits

holtskinner

106 commits

a2a-bot

73 commits

kthota-g

50 commits

Languages

Python

99.2%