Metadata-Version: 2.4
Name: swarmd-google-adk
Version: 0.3.2
Summary: SwarmD integration for Google Agent Development Kit
Author-email: SwarmD <support@swarmd.ai>
License: MIT
Project-URL: Homepage, https://swarmd.ai
Project-URL: Documentation, https://docs.swarmd.ai
Keywords: swarmd,agent,google-adk,a2a
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: swarmd-sdk>=0.2.0
Requires-Dist: google-adk[a2a,extensions]<3.0,>=1.0.0
Requires-Dist: a2a-sdk<1.0,>=0.3.9
Requires-Dist: mcp<2,>=1.24
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: pytest-mock>=3.12.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
Requires-Dist: respx>=0.21.0; extra == "dev"
Requires-Dist: ruff>=0.3.0; extra == "dev"
Requires-Dist: mypy>=1.8.0; extra == "dev"

# swarmd-google-adk

[Swarmd](https://swarmd.ai) integration for the Google Agent Development Kit.
Wires an ADK agent into the Swarmd platform: authenticated A2A clients,
discovery of the agents and MCP servers you are subscribed to, and a remote
agent wrapper that polls non-terminal task states instead of giving up on them.

```bash
pip install swarmd-google-adk
```

Requires Python 3.9+. Pulls in [`swarmd-sdk`](https://pypi.org/project/swarmd-sdk/)
and `google-adk`.

## Quick start

```python
from swarmd_google_adk import create_runtime, create_llm_agent, fetch_remote_agents, serve

runtime = create_runtime()

agent = create_llm_agent(
    runtime,
    name="my_agent",
    description="Does the thing",
    instruction="You are a helpful assistant.",
    tools=fetch_remote_agents(runtime),
)

serve(agent, runtime)
```

`create_runtime()` reads the same `SWARMD_*` environment variables as
`swarmd-sdk` — see that package for the full list.

## What's in the box

| | |
|---|---|
| `create_runtime` | a `SwarmDRuntime` wired for ADK |
| `create_llm_agent` | an ADK `LlmAgent` configured against the platform |
| `fetch_remote_agents` | the agents you are subscribed to, as ADK tools |
| `fetch_mcp_tools` | the MCP servers you are subscribed to, as an ADK toolset |
| `create_a2a_client_factory` | authenticated A2A clients |
| `PollingRemoteA2aAgent` | remote A2A agent that polls non-terminal task states |
| `serve` | serve the agent over A2A with the admin/webhook app mounted |

## Documentation and support

Full documentation is at [docs.swarmd.ai](https://docs.swarmd.ai). For help,
email <support@swarmd.ai>.

MIT licensed.
