Back to Adk Python

ADK Import Paths

.agents/skills/adk-agent-builder/references/import-paths.md

2.7.05.8 KB
Original Source

ADK Import Paths

Prefer the canonical short import. The verbose module path is listed only where there is no short form, or where the short form does not exist yet.

Canonical imports

These cover most agent code:

python
from google.adk import Agent, Context, Event, Runner, Workflow
from google.adk.events import Event, EventActions, RequestInput
from google.adk.workflow import BaseNode, Edge, FunctionNode, JoinNode, node
from google.adk.workflow import DEFAULT_ROUTE, RetryConfig, START

google.adk and google.adk.workflow load their members lazily, so importing from them does not pull in the whole package.

Agents

ComponentImport
Agent (alias of LlmAgent)from google.adk import Agent
LlmAgentfrom google.adk.agents import LlmAgent
BaseAgentfrom google.adk.agents import BaseAgent
SequentialAgent (deprecated — use Workflow)from google.adk.agents import SequentialAgent
ParallelAgent (deprecated — use Workflow)from google.adk.agents import ParallelAgent
LoopAgent (deprecated — use Workflow)from google.adk.agents import LoopAgent
RunConfigfrom google.adk.agents import RunConfig

Workflow graph

ComponentImport
Workflowfrom google.adk.workflow import Workflow
Edgefrom google.adk.workflow import Edge
DEFAULT_ROUTE ("__DEFAULT__")from google.adk.workflow import DEFAULT_ROUTE
STARTfrom google.adk.workflow import START
Graphfrom google.adk.workflow._graph import Graph

Graph is private; construct workflows from edges=[...] unless you need Graph.from_edge_items(...) directly.

Nodes

ComponentImport
BaseNodefrom google.adk.workflow import BaseNode
FunctionNodefrom google.adk.workflow import FunctionNode
Nodefrom google.adk.workflow import Node
@node decoratorfrom google.adk.workflow import node
JoinNodefrom google.adk.workflow import JoinNode
RetryConfigfrom google.adk.workflow import RetryConfig
NodeTimeoutErrorfrom google.adk.workflow import NodeTimeoutError
_ToolNode (private)from google.adk.workflow._tool_node import _ToolNode

Parallel-worker behavior has no importable class. Set parallel_worker=True on @node or on an LlmAgent; the framework wraps it with an internal _ParallelWorker.

Events and context

ComponentImport
Eventfrom google.adk import Event
EventActionsfrom google.adk.events import EventActions
RequestInputfrom google.adk.events import RequestInput
Contextfrom google.adk import Context
CallbackContext (alias of Context)from google.adk.agents.callback_context import CallbackContext
ReadonlyContextfrom google.adk.agents.readonly_context import ReadonlyContext
ToolContext (alias of Context)from google.adk.tools import ToolContext

Task delegation

ComponentImport
FinishTaskToolfrom google.adk.agents.llm.task._finish_task_tool import FinishTaskTool
TaskRequest, TaskResultfrom google.adk.agents.llm.task._task_models import TaskRequest, TaskResult

All three are private. Setting mode='task' attaches FinishTaskTool automatically — there is no reason to import it in agent code.

Tools

ComponentImport
FunctionToolfrom google.adk.tools import FunctionTool
BaseToolfrom google.adk.tools import BaseTool
BaseToolsetfrom google.adk.tools.base_toolset import BaseToolset
LongRunningFunctionToolfrom google.adk.tools import LongRunningFunctionTool
AgentToolfrom google.adk.tools import AgentTool
McpToolsetfrom google.adk.tools.mcp_tool import McpToolset
StdioConnectionParamsfrom google.adk.tools.mcp_tool import StdioConnectionParams
SseConnectionParamsfrom google.adk.tools.mcp_tool import SseConnectionParams
StreamableHTTPConnectionParamsfrom google.adk.tools.mcp_tool import StreamableHTTPConnectionParams
OpenAPIToolset, RestApiToolfrom google.adk.tools.openapi_tool import OpenAPIToolset, RestApiTool

MCPToolset (all caps) still resolves but raises a deprecation warning — use McpToolset.

Runner, sessions, app

ComponentImport
Runnerfrom google.adk import Runner
InMemoryRunnerfrom google.adk.runners import InMemoryRunner
InMemorySessionServicefrom google.adk.sessions import InMemorySessionService
DatabaseSessionServicefrom google.adk.sessions import DatabaseSessionService
VertexAiSessionServicefrom google.adk.sessions import VertexAiSessionService
App, ResumabilityConfigfrom google.adk.apps import App, ResumabilityConfig
BasePluginfrom google.adk.plugins.base_plugin import BasePlugin

DatabaseSessionService needs the db extra; importing it without sqlalchemy installed raises a "missing extra" error rather than ImportError.

Models

ComponentImport
BaseLlmfrom google.adk.models.base_llm import BaseLlm
LiteLlmfrom google.adk.models.lite_llm import LiteLlm
LlmRequestfrom google.adk.models.llm_request import LlmRequest
LlmResponsefrom google.adk.models.llm_response import LlmResponse

Code executors

ComponentImport
BuiltInCodeExecutorfrom google.adk.code_executors.built_in_code_executor import BuiltInCodeExecutor

google-genai types

ComponentImport
typesfrom google.genai import types
Content, ModelContent, Partfrom google.genai.types import Content, ModelContent, Part
GenerateContentConfigfrom google.genai.types import GenerateContentConfig