Metadata-Version: 2.4
Name: google-adk
Version: 2.0.0a1
Summary: Agent Development Kit
Author-email: Google LLC <googleapis-packages@google.com>
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Classifier: Typing :: Typed
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: Apache Software License
License-File: LICENSE
Requires-Dist: PyYAML>=6.0.2, <7.0.0
Requires-Dist: aiosqlite>=0.21.0
Requires-Dist: anyio>=4.9.0, <5.0.0
Requires-Dist: authlib>=1.6.6, <2.0.0
Requires-Dist: click>=8.1.8, <9.0.0
Requires-Dist: fastapi>=0.124.1, <1.0.0
Requires-Dist: google-api-python-client>=2.157.0, <3.0.0
Requires-Dist: google-auth[pyopenssl]>=2.47.0
Requires-Dist: google-cloud-aiplatform[agent-engines]>=1.132.0, <2.0.0
Requires-Dist: google-cloud-bigquery-storage>=2.0.0
Requires-Dist: google-cloud-bigquery>=2.2.0
Requires-Dist: google-cloud-bigtable>=2.32.0
Requires-Dist: google-cloud-dataplex>=1.7.0,<3.0.0
Requires-Dist: google-cloud-discoveryengine>=0.13.12, <0.14.0
Requires-Dist: google-cloud-pubsub>=2.0.0, <3.0.0
Requires-Dist: google-cloud-secret-manager>=2.22.0, <3.0.0
Requires-Dist: google-cloud-spanner>=3.56.0, <4.0.0
Requires-Dist: google-cloud-speech>=2.30.0, <3.0.0
Requires-Dist: google-cloud-storage>=2.18.0, <4.0.0
Requires-Dist: google-genai>=1.56.0, <2.0.0
Requires-Dist: graphviz>=0.20.2, <1.0.0
Requires-Dist: httpx>=0.27.0, <1.0.0
Requires-Dist: jsonschema>=4.23.0, <5.0.0
Requires-Dist: mcp>=1.23.0, <2.0.0
Requires-Dist: opentelemetry-api>=1.36.0, <1.39.0
Requires-Dist: opentelemetry-exporter-gcp-logging>=1.9.0a0, <2.0.0
Requires-Dist: opentelemetry-exporter-gcp-monitoring>=1.9.0a0, <2.0.0
Requires-Dist: opentelemetry-exporter-gcp-trace>=1.9.0, <2.0.0
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.36.0
Requires-Dist: opentelemetry-resourcedetector-gcp>=1.9.0a0, <2.0.0
Requires-Dist: opentelemetry-sdk>=1.36.0, <1.39.0
Requires-Dist: pyarrow>=14.0.0
Requires-Dist: pydantic>=2.12.0, <3.0.0
Requires-Dist: python-dateutil>=2.9.0.post0, <3.0.0
Requires-Dist: python-dotenv>=1.0.0, <2.0.0
Requires-Dist: requests>=2.32.4, <3.0.0
Requires-Dist: sqlalchemy-spanner>=1.14.0
Requires-Dist: sqlalchemy>=2.0, <3.0.0
Requires-Dist: starlette>=0.49.1, <1.0.0
Requires-Dist: tenacity>=9.0.0, <10.0.0
Requires-Dist: typing-extensions>=4.5, <5
Requires-Dist: tzlocal>=5.3, <6.0
Requires-Dist: uvicorn>=0.34.0, <1.0.0
Requires-Dist: watchdog>=6.0.0, <7.0.0
Requires-Dist: websockets>=15.0.1, <16.0.0
Requires-Dist: a2a-sdk>=0.3.4,<0.4.0 ; extra == "a2a"
Requires-Dist: google-adk-community ; extra == "community"
Requires-Dist: flit>=3.10.0 ; extra == "dev"
Requires-Dist: mypy>=1.15.0 ; extra == "dev"
Requires-Dist: pylint>=2.6.0 ; extra == "dev"
Requires-Dist: tox>=4.23.2 ; extra == "dev"
Requires-Dist: tox-uv>=1.33.2 ; extra == "dev"
Requires-Dist: autodoc_pydantic ; extra == "docs"
Requires-Dist: furo ; extra == "docs"
Requires-Dist: myst-parser ; extra == "docs"
Requires-Dist: sphinx<9.0.0 ; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints ; extra == "docs"
Requires-Dist: sphinx-rtd-theme ; extra == "docs"
Requires-Dist: Jinja2>=3.1.4,<4.0.0 ; extra == "eval"
Requires-Dist: gepa>=0.1.0 ; extra == "eval"
Requires-Dist: google-cloud-aiplatform[evaluation]>=1.100.0 ; extra == "eval"
Requires-Dist: pandas>=2.2.3 ; extra == "eval"
Requires-Dist: rouge-score>=0.1.2 ; extra == "eval"
Requires-Dist: tabulate>=0.9.0 ; extra == "eval"
Requires-Dist: anthropic>=0.43.0 ; extra == "extensions"
Requires-Dist: beautifulsoup4>=3.2.2 ; extra == "extensions"
Requires-Dist: crewai[tools] ; extra == "extensions" and (python_version>='3.11' and python_version<'3.12')
Requires-Dist: docker>=7.0.0 ; extra == "extensions"
Requires-Dist: kubernetes>=29.0.0 ; extra == "extensions"
Requires-Dist: k8s-agent-sandbox>=0.1.1.post2 ; extra == "extensions"
Requires-Dist: langgraph>=0.2.60, <0.4.8 ; extra == "extensions"
Requires-Dist: litellm>=1.75.5, <2.0.0 ; extra == "extensions"
Requires-Dist: llama-index-readers-file>=0.4.0 ; extra == "extensions"
Requires-Dist: llama-index-embeddings-google-genai>=0.3.0 ; extra == "extensions"
Requires-Dist: lxml>=5.3.0 ; extra == "extensions"
Requires-Dist: pypika>=0.50.0 ; extra == "extensions"
Requires-Dist: opentelemetry-instrumentation-google-genai>=0.6b0, <1.0.0 ; extra == "otel-gcp"
Requires-Dist: a2a-sdk>=0.3.0,<0.4.0 ; extra == "test"
Requires-Dist: anthropic>=0.43.0 ; extra == "test"
Requires-Dist: crewai[tools] ; extra == "test" and (python_version>='3.11' and python_version<'3.12')
Requires-Dist: kubernetes>=29.0.0 ; extra == "test"
Requires-Dist: langchain-community>=0.3.17 ; extra == "test"
Requires-Dist: langgraph>=0.2.60, <0.4.8 ; extra == "test"
Requires-Dist: litellm>=1.75.5, <2.0.0 ; extra == "test"
Requires-Dist: llama-index-readers-file>=0.4.0 ; extra == "test"
Requires-Dist: openai>=1.100.2 ; extra == "test"
Requires-Dist: opentelemetry-instrumentation-google-genai>=0.3b0, <1.0.0 ; extra == "test"
Requires-Dist: pypika>=0.50.0 ; extra == "test"
Requires-Dist: pytest-asyncio>=0.25.0 ; extra == "test"
Requires-Dist: pytest-mock>=3.14.0 ; extra == "test"
Requires-Dist: pytest-xdist>=3.6.1 ; extra == "test"
Requires-Dist: pytest>=9.0.0,<10.0.0 ; extra == "test"
Requires-Dist: python-multipart>=0.0.9 ; extra == "test"
Requires-Dist: rouge-score>=0.1.2 ; extra == "test"
Requires-Dist: tabulate>=0.9.0 ; extra == "test"
Project-URL: changelog, https://github.com/google/adk-python/blob/main/CHANGELOG.md
Project-URL: documentation, https://google.github.io/adk-docs/
Project-URL: homepage, https://google.github.io/adk-docs/
Project-URL: repository, https://github.com/google/adk-python
Provides-Extra: a2a
Provides-Extra: community
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: eval
Provides-Extra: extensions
Provides-Extra: otel-gcp
Provides-Extra: test

# Agent Development Kit (ADK) 2.0 Alpha

[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)

<h2 align="center">
  <img src="https://raw.githubusercontent.com/google/adk-python/main/assets/agent-development-kit.png" width="256"/>
</h2>
<h3 align="center">
  An open-source, code-first Python framework for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
</h3>
<h3 align="center">
  Important Links:
  <a href="https://google.github.io/adk-docs/">Docs</a>,
  <a href="https://github.com/google/adk-samples">Samples</a> &
  <a href="https://github.com/google/adk-web">ADK Web</a>.
</h3>

______________________________________________________________________

> **⚠️ EARLY PREVIEW — BREAKING CHANGES FROM 1.x**
>
> This is an early alpha of ADK 2.0. It includes breaking changes to the
> agent API, event model, and session schema. **Do NOT use with ADK 1.x
> databases or sessions** — they are incompatible. APIs are subject to
> change without notice.
>
> Install only with an explicit version pin:
>
> ```bash
> pip install google-adk==2.0.0a1
> ```
>
> `pip install google-adk` will NOT install this version.

______________________________________________________________________

## 🔥 What's New in 2.0

- **Workflow Runtime**: A graph-based execution engine for composing
  deterministic execution flows for agentic apps, with support for routing,
  fan-out/fan-in, loops, retry, state management, dynamic nodes,
  human-in-the-loop, and nested workflows.

- **Task API**: Structured agent-to-agent delegation with multi-turn task
  mode, single-turn controlled output, mixed delegation patterns,
  human-in-the-loop, and task agents as workflow nodes.

## 🚀 Installation

```bash
pip install google-adk==2.0.0a1
```

**Requirements:** Python 3.11+.

## Quick Start

### Agent

```python
from google.adk import Agent

root_agent = Agent(
    name="greeting_agent",
    model="gemini-2.5-flash",
    instruction="You are a helpful assistant. Greet the user warmly.",
)
```

### Workflow

```python
from google.adk import Agent, Workflow

generate_fruit_agent = Agent(
    name="generate_fruit_agent",
    instruction="Return the name of a random fruit. Return only the name.",
)

generate_benefit_agent = Agent(
    name="generate_benefit_agent",
    instruction="Tell me a health benefit about the specified fruit.",
)

root_agent = Workflow(
    name="root_agent",
    edges=[("START", generate_fruit_agent, generate_benefit_agent)],
)
```

### Run Locally

```bash
# Interactive CLI
adk run path/to/my_agent

# Web UI
adk web path/to/agents_dir
```

## 📚 Documentation

- **Getting Started**: https://google.github.io/adk-docs/
- **Samples**: See `contributing/workflow_samples/` and
  `contributing/task_samples/` for workflow and task API examples.

## 🤝 Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for details.

## 📄 License

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

