Skip to content

Repository files navigation

A2A Python SDK

LicensePyPI versionPyPI - Python VersionPyPI - DownloadsPython Unit TestsAsk DeepWiki

A2A Logo

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:

🚀 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]"
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

  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

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages