Skip to content

Commit 848076d

Browse files
yeesiancopybara-github
authored andcommitted
feat: Add --extra_packages option to adk deploy agent_engine
PiperOrigin-RevId: 795043180
1 parent 52284b1 commit 848076d

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/google/adk/cli/cli_deploy.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ def to_agent_engine(
262262
description: Optional[str] = None,
263263
requirements_file: Optional[str] = None,
264264
env_file: Optional[str] = None,
265+
extra_packages: Optional[list[str]] = None,
265266
):
266267
"""Deploys an agent to Vertex AI Agent Engine.
267268
@@ -306,6 +307,8 @@ def to_agent_engine(
306307
If not specified, the `.env` file in the `agent_folder` will be used. The
307308
values of `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` will be
308309
overridden by `project` and `region` if they are specified.
310+
extra_packages (list[str]): Any additional packages to install. Default is
311+
None.
309312
"""
310313
app_name = os.path.basename(agent_folder)
311314
agent_src_path = os.path.join(temp_folder, app_name)
@@ -435,13 +438,17 @@ def to_agent_engine(
435438
sys_paths=[temp_folder[1:]],
436439
agent_framework='google-adk',
437440
)
441+
if extra_packages:
442+
extra_packages.append(temp_folder)
443+
else:
444+
extra_packages = [temp_folder]
438445
agent_config = dict(
439446
agent_engine=agent_engine,
440447
requirements=requirements_file,
441448
display_name=display_name,
442449
description=description,
443450
env_vars=env_vars,
444-
extra_packages=[temp_folder],
451+
extra_packages=extra_packages,
445452
)
446453

447454
if not agent_engine_id:

src/google/adk/cli/cli_tools_click.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,6 +1141,11 @@ def cli_deploy_cloud_run(
11411141
" NOTE: This flag is temporary and will be removed in the future."
11421142
),
11431143
)
1144+
@click.option(
1145+
"--extra_packages",
1146+
help="Optional. Any additional packages to install.",
1147+
multiple=True,
1148+
)
11441149
@click.argument(
11451150
"agent",
11461151
type=click.Path(
@@ -1161,6 +1166,7 @@ def cli_deploy_agent_engine(
11611166
env_file: str,
11621167
requirements_file: str,
11631168
absolutize_imports: bool,
1169+
extra_packages: Optional[list[str]],
11641170
):
11651171
"""Deploys an agent to Agent Engine.
11661172
@@ -1184,6 +1190,7 @@ def cli_deploy_agent_engine(
11841190
env_file=env_file,
11851191
requirements_file=requirements_file,
11861192
absolutize_imports=absolutize_imports,
1193+
extra_packages=extra_packages,
11871194
)
11881195
except Exception as e:
11891196
click.secho(f"Deploy failed: {e}", fg="red", err=True)

0 commit comments

Comments
 (0)