Catalog PyPI
PACKAGE EXPLORERView in registry

a2a-sdk

PyPI

A2A Python SDK

2a2aagentagent2agentprotocolsdk
Versions collected1
Direct dependencies20From release 1.2.3
Last observed20 Oct, 16:29 UTC

README

Version 1.2.3 documentation

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.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.2.319 Oct 202620

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
a2aproject/a2a-python

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:29 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:ae3085c9305b3d1b5c05643968a4770be081d2de3abe7553311e3d1d575ad1de