a2a-sdk


Namea2a-sdk JSON
Version 0.3.5 PyPI version JSON
download
home_pageNone
SummaryA2A Python SDK
upload_time2025-09-08 17:30:35
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords a2a a2a protocol a2a sdk agent 2 agent agent2agent
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # A2A Python SDK

[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
[![PyPI version](https://img.shields.io/pypi/v/a2a-sdk)](https://pypi.org/project/a2a-sdk/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/a2a-sdk)
[![PyPI - Downloads](https://img.shields.io/pypi/dw/a2a-sdk)](https://pypistats.org/packages/a2a-sdk)
[![Python Unit Tests](https://github.com/a2aproject/a2a-python/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/a2aproject/a2a-python/actions/workflows/unit-tests.yml)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/a2aproject/a2a-python)

<!-- markdownlint-disable no-inline-html -->

<div align="center">
   <img src="https://raw.githubusercontent.com/a2aproject/A2A/refs/heads/main/docs/assets/a2a-logo-black.svg" width="256" alt="A2A Logo"/>
   <h3>
      A Python library for running agentic applications as A2A Servers, following the <a href="https://a2a-protocol.org">Agent2Agent (A2A) Protocol</a>.
   </h3>
</div>

<!-- markdownlint-enable no-inline-html -->

---

## ✨ 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:
  - HTTP servers ([FastAPI](https://fastapi.tiangolo.com/), [Starlette](https://www.starlette.io/))
  - [gRPC](https://grpc.io/)
  - [OpenTelemetry](https://opentelemetry.io/) for tracing
  - SQL databases ([PostgreSQL](https://www.postgresql.org/), [MySQL](https://www.mysql.com/), [SQLite](https://sqlite.org/))

---

## 🚀 Getting Started

### Prerequisites

- Python 3.10+
- `uv` (recommended) or `pip`

### 🔧 Installation

Install the core SDK and any desired extras using your preferred package manager.

| Feature                  | `uv` Command                               | `pip` Command                                |
| ------------------------ | ------------------------------------------ | -------------------------------------------- |
| **Core SDK**             | `uv add a2a-sdk`                           | `pip install a2a-sdk`                        |
| **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]"`           |

#### Database Support

Install the necessary drivers for your chosen SQL database.

| Database      | `uv` Command                       | `pip` Command                        |
| ------------- | ---------------------------------- | ------------------------------------ |
| **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]"`         |

## Examples

### [Helloworld Example](https://github.com/a2aproject/a2a-samples/tree/main/samples/python/agents/helloworld)

1. Run Remote Agent

   ```bash
   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

   ```bash
   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](https://github.com/a2aproject/a2a-inspector) repo.

---

## 🌐 More Examples

You can find a variety of more detailed examples in the [a2a-samples](https://github.com/a2aproject/a2a-samples) repository:

- **[Python Examples](https://github.com/a2aproject/a2a-samples/tree/main/samples/python)**
- **[JavaScript Examples](https://github.com/a2aproject/a2a-samples/tree/main/samples/js)**

---

## 🤝 Contributing

Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on how to get involved.

---

## 📄 License

This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "a2a-sdk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "A2A, A2A Protocol, A2A SDK, Agent 2 Agent, Agent2Agent",
    "author": null,
    "author_email": "Google LLC <googleapis-packages@google.com>",
    "download_url": "https://files.pythonhosted.org/packages/cf/0d/12ebef081b096ca5fafd1ec8cc589739abba07b46ae7899c7420e599f2a6/a2a_sdk-0.3.5.tar.gz",
    "platform": null,
    "description": "# A2A Python SDK\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n[![PyPI version](https://img.shields.io/pypi/v/a2a-sdk)](https://pypi.org/project/a2a-sdk/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/a2a-sdk)\n[![PyPI - Downloads](https://img.shields.io/pypi/dw/a2a-sdk)](https://pypistats.org/packages/a2a-sdk)\n[![Python Unit Tests](https://github.com/a2aproject/a2a-python/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/a2aproject/a2a-python/actions/workflows/unit-tests.yml)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/a2aproject/a2a-python)\n\n<!-- markdownlint-disable no-inline-html -->\n\n<div align=\"center\">\n   <img src=\"https://raw.githubusercontent.com/a2aproject/A2A/refs/heads/main/docs/assets/a2a-logo-black.svg\" width=\"256\" alt=\"A2A Logo\"/>\n   <h3>\n      A Python library for running agentic applications as A2A Servers, following the <a href=\"https://a2a-protocol.org\">Agent2Agent (A2A) Protocol</a>.\n   </h3>\n</div>\n\n<!-- markdownlint-enable no-inline-html -->\n\n---\n\n## \u2728 Features\n\n- **A2A Protocol Compliant:** Build agentic applications that adhere to the Agent2Agent (A2A) Protocol.\n- **Extensible:** Easily add support for different communication protocols and database backends.\n- **Asynchronous:** Built on modern async Python for high performance.\n- **Optional Integrations:** Includes optional support for:\n  - HTTP servers ([FastAPI](https://fastapi.tiangolo.com/), [Starlette](https://www.starlette.io/))\n  - [gRPC](https://grpc.io/)\n  - [OpenTelemetry](https://opentelemetry.io/) for tracing\n  - SQL databases ([PostgreSQL](https://www.postgresql.org/), [MySQL](https://www.mysql.com/), [SQLite](https://sqlite.org/))\n\n---\n\n## \ud83d\ude80 Getting Started\n\n### Prerequisites\n\n- Python 3.10+\n- `uv` (recommended) or `pip`\n\n### \ud83d\udd27 Installation\n\nInstall the core SDK and any desired extras using your preferred package manager.\n\n| Feature                  | `uv` Command                               | `pip` Command                                |\n| ------------------------ | ------------------------------------------ | -------------------------------------------- |\n| **Core SDK**             | `uv add a2a-sdk`                           | `pip install a2a-sdk`                        |\n| **HTTP Server**          | `uv add \"a2a-sdk[http-server]\"`            | `pip install \"a2a-sdk[http-server]\"`         |\n| **gRPC Support**         | `uv add \"a2a-sdk[grpc]\"`                   | `pip install \"a2a-sdk[grpc]\"`                |\n| **OpenTelemetry Tracing**| `uv add \"a2a-sdk[telemetry]\"`              | `pip install \"a2a-sdk[telemetry]\"`           |\n\n#### Database Support\n\nInstall the necessary drivers for your chosen SQL database.\n\n| Database      | `uv` Command                       | `pip` Command                        |\n| ------------- | ---------------------------------- | ------------------------------------ |\n| **PostgreSQL**| `uv add \"a2a-sdk[postgresql]\"`     | `pip install \"a2a-sdk[postgresql]\"`  |\n| **MySQL**     | `uv add \"a2a-sdk[mysql]\"`          | `pip install \"a2a-sdk[mysql]\"`       |\n| **SQLite**    | `uv add \"a2a-sdk[sqlite]\"`         | `pip install \"a2a-sdk[sqlite]\"`      |\n| **All SQL Drivers** | `uv add \"a2a-sdk[sql]\"`      | `pip install \"a2a-sdk[sql]\"`         |\n\n## Examples\n\n### [Helloworld Example](https://github.com/a2aproject/a2a-samples/tree/main/samples/python/agents/helloworld)\n\n1. Run Remote Agent\n\n   ```bash\n   git clone https://github.com/a2aproject/a2a-samples.git\n   cd a2a-samples/samples/python/agents/helloworld\n   uv run .\n   ```\n\n2. In another terminal, run the client\n\n   ```bash\n   cd a2a-samples/samples/python/agents/helloworld\n   uv run test_client.py\n   ```\n\n3. You can validate your agent using the agent inspector. Follow the instructions at the [a2a-inspector](https://github.com/a2aproject/a2a-inspector) repo.\n\n---\n\n## \ud83c\udf10 More Examples\n\nYou can find a variety of more detailed examples in the [a2a-samples](https://github.com/a2aproject/a2a-samples) repository:\n\n- **[Python Examples](https://github.com/a2aproject/a2a-samples/tree/main/samples/python)**\n- **[JavaScript Examples](https://github.com/a2aproject/a2a-samples/tree/main/samples/js)**\n\n---\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on how to get involved.\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for more details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A2A Python SDK",
    "version": "0.3.5",
    "project_urls": {
        "changelog": "https://github.com/a2aproject/a2a-python/blob/main/CHANGELOG.md",
        "documentation": "https://a2a-protocol.org/latest/sdk/python/",
        "homepage": "https://a2a-protocol.org/",
        "repository": "https://github.com/a2aproject/a2a-python"
    },
    "split_keywords": [
        "a2a",
        " a2a protocol",
        " a2a sdk",
        " agent 2 agent",
        " agent2agent"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4c96c33802d929b0f884cb6e509195d69914632536256d273bd7127e900d79ea",
                "md5": "a524d016185021183b3a2db20de354bb",
                "sha256": "fd85b1e4e7be18a89b5d723e4013171510150a235275876f98de9e1ba869457e"
            },
            "downloads": -1,
            "filename": "a2a_sdk-0.3.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a524d016185021183b3a2db20de354bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 136911,
            "upload_time": "2025-09-08T17:30:34",
            "upload_time_iso_8601": "2025-09-08T17:30:34.091165Z",
            "url": "https://files.pythonhosted.org/packages/4c/96/c33802d929b0f884cb6e509195d69914632536256d273bd7127e900d79ea/a2a_sdk-0.3.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cf0d12ebef081b096ca5fafd1ec8cc589739abba07b46ae7899c7420e599f2a6",
                "md5": "4136f34417e7d5119ad7b9c1be9334b8",
                "sha256": "48cf37dedeb63cf0a072512221a12ed4b3950df695c9d65eadb839a99392c3e5"
            },
            "downloads": -1,
            "filename": "a2a_sdk-0.3.5.tar.gz",
            "has_sig": false,
            "md5_digest": "4136f34417e7d5119ad7b9c1be9334b8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 222064,
            "upload_time": "2025-09-08T17:30:35",
            "upload_time_iso_8601": "2025-09-08T17:30:35.826060Z",
            "url": "https://files.pythonhosted.org/packages/cf/0d/12ebef081b096ca5fafd1ec8cc589739abba07b46ae7899c7420e599f2a6/a2a_sdk-0.3.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-08 17:30:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "a2aproject",
    "github_project": "a2a-python",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "a2a-sdk"
}
        
Elapsed time: 1.32897s