mrkeyoor.com_
Tue 01 Sept 17:39 UTC
LLM Toolsevaluationupdated 26 Aug 2026

adk-python review

Google's Agent Development Kit is a Python framework for defining agents, tools, sessions, evaluations, and multi-agent workflows in code. It is built around Gemini but can work with other model providers, and it gives teams a path from a local command-line agent to Cloud Run or Vertex AI Agent Engine.

+54stars / 7d
Verdict

Our ADK install pulled 331 packages and used 1,696 MB, while pytest stopped at 200 collection or setup errors, so this is a serious framework that deserves a trial before adoption. Choose it when Gemini, explicit workflow graphs, evaluation, and Google Cloud deployment belong in the same Python stack. For a single agent loop or a provider-neutral app with a small dependency budget, start with a narrower SDK.

We ran it

Lab card: what happened when we ran adk-pythonScreenshot of adk-python (google.github.io/adk-docs)
Install✓ · 126s331 packages · 1696 MB
Build✓ · 8s
Tests✗ · 81s0 passed · 0 failed · 2 skipped · 200 errors of 200 (pytest)
Known vulns3(pip-audit)
Repo2561 files~541,142 lines of source · 39.8 MB · 14 CI workflows · tests dir

Answers from our run

Does adk-python build from source?

Dependencies installed in 126 seconds (331 packages), and the build succeeded in 8 seconds. We cloned commit 85b52f6 into a clean Debian container with 3 CPUs and no project-specific setup.

Do adk-python's tests pass?

Yes: 0 of 200 passed when we ran the project's own test command (pytest), with 200 collection errors. Some failures need services or credentials a bare container does not have.

Does adk-python have known vulnerabilities in its dependencies?

pip-audit flagged 3 known advisories in the dependency tree at the time of our run.

Who should not use adk-python?

Small scripts that only make one model call: ADK 2.0 brings agents, workflows, events, sessions, and a large dependency tree to a problem a model SDK may already solve.

What are the alternatives to adk-python?

OpenAI Agents SDK, Pydantic AI, LangGraph. Our ADK install pulled 331 packages and used 1,696 MB, while pytest stopped at 200 collection or setup errors, so this is a serious framework that deserves a trial before adoption.

Setup2/5Quick user install, but 331 packages and collection errors in our run
Docs4/5Clear quick start, concepts, evaluation, samples, and separate docs
Community5/521,289 stars, a fresh push, and active issue and PR traffic
Maturity3/5Broad feature set, but 2.0 breaks APIs and sessions

Discussed on

  1. hnAgent Development Kit (ADK) from Google6 points

Who it’s for

Python teams building agents that need explicit workflows, session state, evaluation, and deployment choices.
Google Cloud users who want a framework designed around Gemini and Vertex AI Agent Engine.
Developers connecting agents to function tools, OpenAPI tools, or MCP services.
Larger teams that benefit from versioned agent code and a separate evaluation command.

Who it’s NOT for

Small scripts that only make one model call: ADK 2.0 brings agents, workflows, events, sessions, and a large dependency tree to a problem a model SDK may already solve.
Teams that need painless migration from early ADK releases: the README says 2.0 changes the agent API, event model, and session schema, while sessions are incompatible with versions older than 1.28.
Applications that require a documented HTTP cancellation endpoint for long agent runs: issue #2425 says disconnecting the client does not stop the server-side task.
Developers expecting every non-Google model path to behave like Gemini: recent issues describe LiteLLM reasoning and tool-schema edge cases.
Contributors who need the full test suite to collect in a plain fresh container: our run stopped after 200 collection and setup errors.

Setup reality

Our sandbox install succeeded in 126 seconds, pulled 331 packages, and occupied 1,696 MB. The build then finished in 8 seconds. Tests did not reach normal execution: pytest reported 0 passed, 0 failed, 2 skipped, and stopped after 200 collection or setup errors in an 81-second test step.

The README's user path is much smaller than the contributor path: Python 3.10 or newer, pip install google-adk, then adk run or adk web. A useful agent still needs model credentials, tool configuration, and a session service. Gemini and Vertex deployments add Google Cloud identity and service setup.

ADK 2.0 has breaking agent, event, and session changes. The README recommends Python-specific constraint files for transitive dependencies, which matters after our 331-package install and the 3 known vulnerabilities reported by pip-audit.

ADK 2.0 is a framework for the whole agent life cycle

ADK 2.0 covers much more than calling a model with tools. The Python package defines agents, graph-based workflows, task delegation, sessions, state, evaluation, and deployment adapters. A workflow can route work, loop, retry, fan out, request human confirmation, or nest another workflow. The same project includes a command-line runner and a development web interface. That breadth makes sense for a team treating agents as maintained applications, with behavior that must be reviewed and tested in source control.

The tradeoff appears in the repository itself: our checkout contained 2,561 files and roughly 541,142 lines of source. ADK is optimized for Gemini, though the README says it can use other models and coexist with other frameworks. It also connects function tools, OpenAPI descriptions, and MCP services. This is useful when one team wants a standard runtime. It is a lot of machinery when the job is one prompt, one schema, and one response.

What happened when we ran it

Our sandbox installed ADK in 126 seconds, with 331 packages taking 1,696 MB on disk. The build succeeded in 8 seconds. We used commit 85b52f6, Python 3.12 on Debian, 3 CPUs, and 8 GB of RAM in an unprivileged container with no secrets. Those results show that the source can install and build in a clean environment, but the dependency footprint is closer to an application platform than a small Python helper.

The test step failed after 81 seconds. Pytest recorded 0 passed, 0 failed, and 2 skipped before stopping after 200 collection or setup errors. The final log lines name tests across tools, skills, URL context, Vertex AI Search, runner utilities, agent information, and instructions. The tail does not contain the underlying traceback, so it would be guesswork to assign a cause. Pip-audit also reported 3 known vulnerabilities. A team evaluating ADK should reproduce the suite in its own build image before treating the green build as release confidence.

The simple agent API sits above a 331-package install

The first user-facing example is easy to understand. Create an Agent with a name, model, and instruction, then point adk run or adk web at its directory. A separate Workflow object connects agents with graph edges. Evaluation has its own adk eval command, which is better than leaving quality checks as an informal prompt-testing habit. The README also links a samples repository and task-oriented guides for tools, events, plugins, and workflows.

Installation is less casual than the one-line command suggests. Our fresh environment needed 331 packages and 1,696 MB, and Google recommends a constraints file matched to Python 3.10 through 3.14 for transitive dependency protection. Real agents also need provider credentials and tool-specific secrets. Cloud Run and Vertex AI Agent Engine are deployment choices, not automatic outcomes of installing the package. Teams should budget time for identity, persistent sessions, observability, and the failure behavior of each external tool.

Version 2.0 makes migration a design task

The README puts the 2.0 warning near the top because the agent API, event model, and session schema changed. Sessions written by 2.0 can be read by ADK 1.28 or newer because older readers ignore added fields. Versions older than 1.28 are incompatible. That boundary matters for rolling deployments and stored conversations: upgrading one service without checking the readers around it can turn a library change into a data compatibility problem.

The latest GitHub release we fetched was v2.7.1, published on August 17, 2026. It restored an OpenTelemetry dependency ceiling and added session-initialization validation. The repository was pushed again on August 26, and GitHub reported 538 open issues and pull requests combined. That activity supports a strong community score, while the volume and recent bug reports also show a moving surface. Pin versions, read release notes, and test stored sessions when upgrading.

Non-Gemini paths need their own tool-call tests

Model portability is a real feature, but it should be verified at the tool-schema and event level. Recent open reports describe LiteLLM streaming keeping one reasoning part per delta, union schemas losing anyOf, and custom Vertex request mapping dropping tools without an error when fields are placed incorrectly. These reports are specific edge cases, not proof that every alternate provider is broken. They are enough to justify contract tests that assert which tool was called and what schema reached the provider.

ADK's issue tracker was being updated within 1 day of our review, and the repository has 14 CI workflow files plus a tests directory. That is a healthier maintenance signal than a release tag alone. It does not erase our clean-container result: 200 setup or collection errors prevented the suite from giving us pass or fail coverage. For a production trial, run the exact provider, session backend, tool types, and cancellation behavior your application will use.

ADK fits teams already choosing Google's agent stack

ADK is easiest to justify when several requirements arrive together: Python agent code, explicit workflows, Gemini, evaluation, MCP or OpenAPI tools, and a route to Google Cloud. The pieces share concepts and a runtime, which can be easier to govern than an assortment of homegrown loops. Human confirmation and task delegation are also first-class ideas in the README, so teams do not have to invent those structures around a bare model client.

Our 126-second install and 1,696 MB dependency footprint set the practical boundary. Small applications pay for scope they may never use, and contributors need to investigate why a clean 3-CPU container could not collect the tests. ADK deserves a focused proof of concept for a Google-centered platform team. It is a poor default for every Python chatbot. Start with one representative workflow, pin its dependencies, and require the provider and session tests to pass before expanding it.

Alternatives

ProjectWhat it isPick it when
OpenAI Agents SDKA smaller Python agent SDK centered on agents, handoffs, guardrails, sessions, and tracing.pick this instead when your application is centered on OpenAI models and you want fewer framework concepts.
Pydantic AIA typed Python agent framework with model portability and Pydantic-based outputs.pick this instead when typed application code and provider choice matter more than Google's deployment path.
LangGraph gh↗A graph runtime for stateful, long-running agent workflows with explicit control flow.pick this instead when graph execution and durable orchestration are the main requirements.

What people are saying

  1. [velocity-scout] google/adk-python

Sources

  1. Google ADK Python README
  2. ADK v2.7.1 release
  3. ADK task cancellation issue #2425
  4. ADK custom Vertex request mapping issue #6880

More llm tools reviews

rig · open-knowledge · graphiti · cve-mcp-server · minimind · SillyTavern · the whole board →