GitHub - weimeilin79/a2a-python-kafka: Official Python SDK for the Agent2Agent (A2A) Protocol with Kafka · GitHub
Skip to content

weimeilin79/a2a-python-kafka

 
 

Folders and files

Repository files navigation

A2A Python SDK

License PyPI version PyPI - Python Version PyPI - Downloads Python Unit Tests Ask 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.

<<<<<<< HEAD

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]"
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]"
=======
uv add a2a-sdk

To include the optional HTTP server components (FastAPI, Starlette), install the http-server extra:

uv add a2a-sdk[http-server]

To install with gRPC support:

uv add "a2a-sdk[grpc]"

To install with Kafka transport support:

uv add "a2a-sdk[kafka]"

To install with OpenTelemetry tracing support:

uv add "a2a-sdk[telemetry]"

To install with database support:

# PostgreSQL support
uv add "a2a-sdk[postgresql]"

# MySQL support
uv add "a2a-sdk[mysql]"

# SQLite support
uv add "a2a-sdk[sqlite]"

# All database drivers
uv add "a2a-sdk[sql]"

Using pip

If you prefer to use pip, the standard Python package installer, you can install a2a-sdk as follows

pip install a2a-sdk

To include the optional HTTP server components (FastAPI, Starlette), install the http-server extra:

pip install a2a-sdk[http-server]

To install with gRPC support:

pip install "a2a-sdk[grpc]"

To install with Kafka transport support:

pip install "a2a-sdk[kafka]"

To install with OpenTelemetry tracing support:

pip install "a2a-sdk[telemetry]"

To install with database support:

# PostgreSQL support
pip install "a2a-sdk[postgresql]"

# MySQL support
pip install "a2a-sdk[mysql]"

# SQLite support
pip install "a2a-sdk[sqlite]"

# All database drivers
pip install "a2a-sdk[sql]"

af776e6 (kafka)

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 with Kafka

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Python 99.3%
  • Shell 0.7%