Skip to main content

A2UI ADK extension

a2ui-adk connects the A2UI agent SDK to the Agent Development Kit (ADK). It provides the a2ui.adk package.

Installation

# ADK tools only
pip install a2ui-adk

# With the ADK-to-A2A converters and A2A subagent orchestration
pip install "a2ui-adk[a2a]"

The a2a extra installs a2ui-a2a and google-adk[a2a].

Contents

Available with the base install:

  • SendA2uiToClientToolset is an ADK toolset that lets an agent send A2UI to the client through a tool call. It takes whether A2UI is enabled and the request's A2uiRequestProcessor, or callbacks (A2uiEnabledProvider, A2uiProcessorProvider) that return them per context. The processor holds everything else: the catalogs, the example turns, the inference format, and the RendererState bound to it for Canvas UIs. The toolset adds the processor's prompt to the model's instructions, compiles each tool call with the processor's parser, and validates the resulting A2UI JSON messages before they are sent.
  • A2uiInstruction is an ADK instruction provider for an agent that writes A2UI in its text response. Pass it as LlmAgent.instruction with the agent's own instruction and the same processor or callbacks as the toolset. It appends the processor's prompt to the agent's instruction. ADK reads {name} session state templates out of a string instruction, and the A2UI prompt holds braces that are not state keys (${expression} in the basic catalog, data bindings in the examples), so a string instruction fails with KeyError: "Context variable not found: 'expression'.". As a provider, A2uiInstruction is used as it is, while the agent's own instruction keeps its {name} templates.
  • A2uiProcessorStore keeps each session's A2uiRequestProcessor in memory, since ADK's session services save state as JSON and can't hold one. Its is_enabled and get methods are the callbacks for the toolset, A2uiInstruction and A2uiEventConverter.

Available with the a2a extra:

  • A2uiPartConverter and A2uiEventConverter (also in a2ui.adk.a2a) convert ADK events and GenAI parts into A2A parts with A2UI data, using the request's A2uiRequestProcessor. A2uiEventConverter gets the processor from its a2ui_processor argument, such as A2uiProcessorStore.get. Pass it to ADK's A2aAgentExecutor.
  • A2uiSubagentMap and SurfaceIdAlreadyExistsError (also in a2ui.adk.orchestration) track which subagent owns each surface in an orchestrator that talks to its subagents over A2A.

Without the extra, import a2ui.adk still works. Reading one of these names raises an ImportError that explains how to install the extra.

from a2ui.adk import A2uiEventConverter, A2uiInstruction, SendA2uiToClientToolset

Running tests

From the repository root:

uv run pytest python/a2ui_adk/tests

The conformance cases are in conformance/extensions/adk.

Building

From the python/a2ui_adk directory:

uv build

Metadata

Release files for a2ui-adk 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a2ui-adk 0.2.0
File Size Uploaded Provenance Actions
a2ui_adk-0.2.0.tar.gz 37.0 kB With provenance Details for a2ui_adk-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for a2ui-adk 0.2.0
File Interpreter ABI Platform Actions
a2ui_adk-0.2.0-py3-none-any.whl Python 3 none any Details for a2ui_adk-0.2.0-py3-none-any.whl

Total release size: 62.2 kB

Release files / a2ui_adk-0.2.0.tar.gz

Download URL a2ui_adk-0.2.0.tar.gz
Size 37.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6b81f24ef062327559b9bcf5d783aa014249abc56a6addc888597a8ff86ef1f6
BLAKE2b-256 checksum
How to use checksums
8332e9a013884bf95c6eb1478a3f755f5e749f8a85bb8205f21339c8a8d03b9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.11.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by Google Cloud, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / a2ui_adk-0.2.0-py3-none-any.whl

Download URL a2ui_adk-0.2.0-py3-none-any.whl
Size 25.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0bfbb4dd352b160f068160902015451b285c995ba2e0bd12bc22ce3c7524a7c2
BLAKE2b-256 checksum
How to use checksums
38bc180c4bc8a5a26440251e27c622dd4b60a3c68419e28a3e8220d46d1e421a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.11.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by Google Cloud, verified by PyPI on Nov 2, 2026.

Transparency log

Security for a2ui-adk 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for a2ui_adk-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by Google Cloud, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page