a2ui-project / a2ui-project/a2ui

Refactor Python agent SDK to separate core capabilities from ADK and A2A adapters

Open
#1,797 1 comment 0 reactions 1 assignee Claimed by @nan-yu View on GitHub
component: agent_sdk P2 sprint ready
Dominant language
TypeScript
Stars
16.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
134

Description

The current Python agent SDK package (\`a2ui-agent-sdk\`) bundles the core agent-side A2UI capabilities (prompt generation,
streaming parsing, and validation) together with Google ADK (Agent Development Kit) toolsets and A2A (Agent-to-Agent) transport
converters.

This coupling makes the agent SDK heavy and ties it directly to the Google ADK and A2A packages, preventing developers from using
A2UI with other agent frameworks (such as LangChain, LlamaIndex, or custom orchestration loops) without dragging in unnecessary
dependencies.

To improve modularity and future-proofing, we should refactor the codebase to separate the core agent capabilities from the
framework-specific adapters. Furthermore, these adapters should be split into completely separate Python packages so they can be
installed independently.

Contributor guide

Open the contributing guide

Research direction

Examine the current `a2ui-agent-sdk` package structure to identify core capabilities (prompt generation, streaming parsing, validation) versus ADK and A2A adapter code. The goal is to extract adapters into separate packages, likely starting with the main SDK module and dependency definitions. Look for entry points in setup.py or pyproject.toml and existing import statements. 'Done' means the core SDK can be installed without Google ADK or A2A dependencies, and adapters are in their own installable packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.