Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

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.

关于 About

Official Python SDK for the Agent2Agent (A2A) Protocol
a2aa2a-clienta2a-mcpa2a-protocola2a-serveragent2agentagentsgenerative-ai

语言 Languages

Python99.1%
Shell0.8%
Mako0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
670
Total Commits
峰值: 48次/周
Less
More

核心贡献者 Contributors