Skip to content

Commit 7b3abb4

Browse files
feat(deps)!: split ADK/server deps into optional [adk] extra
Bare `pip install agentex-sdk` now installs only the 6 deps the Stainless-generated REST client actually needs (`httpx`, `pydantic`, `typing-extensions`, `anyio`, `distro`, `sniffio`). Everything used by the `agentex.lib.*` surface — CLI, ACP server, Temporal workflows, LLM provider integrations, observability — moves to a single `[adk]` optional extra. The current install behavior is recoverable with `pip install agentex-sdk[adk]`. BREAKING CHANGE: consumers who rely on `agentex.lib.*` (CLI, ADK, fastacp, temporal, providers) must switch from `agentex-sdk` to `agentex-sdk[adk]`. The REST client surface (`from agentex import Agentex, AsyncAgentex`) is unchanged and still works with a bare install. Verified by building the wheel locally: - `Requires-Dist` (base): 6 - `Requires-Dist; extra == 'adk'`: 31 - Bare install pulls ~6 packages instead of ~hundreds. Stacked on AGX1-292 / #367 (drop unused deps). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b100da2 commit 7b3abb4

1 file changed

Lines changed: 50 additions & 32 deletions

File tree

pyproject.toml

Lines changed: 50 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,44 +8,16 @@ authors = [
88
{ name = "Agentex", email = "roxanne.farhad@scale.com" },
99
]
1010

11+
# Bare client surface only — the Stainless-generated REST client
12+
# (`from agentex import Agentex, AsyncAgentex`). Everything else lives
13+
# under the `[adk]` extra; see [project.optional-dependencies] below.
1114
dependencies = [
1215
"httpx>=0.28.1,<0.29",
1316
"pydantic>=2.0.0, <3",
1417
"typing-extensions>=4.14, <5",
1518
"anyio>=3.5.0, <5",
1619
"distro>=1.7.0, <2",
1720
"sniffio",
18-
"typer>=0.16,<0.17",
19-
"questionary>=2.0.1,<3",
20-
"rich>=13.9.2,<14",
21-
"fastapi>=0.115.0",
22-
"starlette>=0.49.1",
23-
"uvicorn>=0.31.1",
24-
"watchfiles>=0.24.0,<1.0",
25-
"python-on-whales>=0.73.0,<0.74",
26-
"pyyaml>=6.0.2,<7",
27-
"jsonschema>=4.23.0,<5",
28-
"jsonref>=1.1.0,<2",
29-
"temporalio>=1.26.0,<2",
30-
"aiohttp>=3.10.10,<4",
31-
"redis>=5.2.0,<8",
32-
"litellm>=1.83.7,<2",
33-
"kubernetes>=25.0.0,<36.0.0",
34-
"jinja2>=3.1.3,<4",
35-
"mcp>=1.4.1",
36-
"scale-gp>=0.1.0a59",
37-
"openai-agents==0.14.1",
38-
"pydantic-ai-slim>=1.0,<2",
39-
"json_log_formatter>=1.1.1",
40-
"scale-gp-beta>=0.2.0",
41-
"openai>=2.2,<3", # Required by openai-agents; litellm now supports openai 2.x (issue #13711 resolved: https://github.com/BerriAI/litellm/issues/13711)
42-
"cloudpickle>=3.1.1",
43-
"ddtrace>=3.13.0",
44-
"yaspin>=3.1.0",
45-
"claude-agent-sdk>=0.1.0",
46-
"langgraph-checkpoint>=2.0.0",
47-
"opentelemetry-sdk>=1.20.0",
48-
"opentelemetry-api>=1.20.0",
4921
]
5022

5123
requires-python = ">= 3.11,<4"
@@ -70,7 +42,53 @@ Homepage = "https://github.com/scaleapi/scale-agentex-python"
7042
Repository = "https://github.com/scaleapi/scale-agentex-python"
7143

7244
[project.optional-dependencies]
73-
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
45+
# httpx-aiohttp transport. Independent from `[adk]`.
46+
aiohttp = ["aiohttp>=3.10.10,<4", "httpx_aiohttp>=0.1.9"]
47+
48+
# Everything under `agentex.lib.*` — Agent Development Kit, CLI, ACP server,
49+
# Temporal workflows, LLM provider integrations, and observability. Required
50+
# for `import agentex.lib.adk`, `import agentex.lib.sdk.fastacp`,
51+
# `import agentex.lib.core.temporal`, and `agentex` CLI usage.
52+
adk = [
53+
# CLI
54+
"typer>=0.16,<0.17",
55+
"questionary>=2.0.1,<3",
56+
"rich>=13.9.2,<14",
57+
"yaspin>=3.1.0",
58+
"pyyaml>=6.0.2,<7",
59+
"python-on-whales>=0.73.0,<0.74",
60+
"kubernetes>=25.0.0,<36.0.0",
61+
"jsonref>=1.1.0,<2",
62+
"jsonschema>=4.23.0,<5",
63+
"jinja2>=3.1.3,<4",
64+
"watchfiles>=0.24.0,<1.0",
65+
# ACP server (FastAPI app surface)
66+
"fastapi>=0.115.0",
67+
"starlette>=0.49.1",
68+
"uvicorn>=0.31.1",
69+
"aiohttp>=3.10.10,<4",
70+
# Temporal workflows
71+
"temporalio>=1.26.0,<2",
72+
"cloudpickle>=3.1.1",
73+
# Async streaming infra
74+
"redis>=5.2.0,<8",
75+
# LLM provider integrations
76+
"litellm>=1.83.7,<2",
77+
"openai-agents==0.14.1",
78+
"openai>=2.2,<3", # Required by openai-agents; litellm now supports openai 2.x (issue #13711 resolved: https://github.com/BerriAI/litellm/issues/13711)
79+
"claude-agent-sdk>=0.1.0",
80+
"pydantic-ai-slim>=1.0,<2",
81+
"langgraph-checkpoint>=2.0.0",
82+
"scale-gp>=0.1.0a59",
83+
"scale-gp-beta>=0.2.0",
84+
"mcp>=1.4.1",
85+
# Observability
86+
"ddtrace>=3.13.0",
87+
"opentelemetry-api>=1.20.0",
88+
"opentelemetry-sdk>=1.20.0",
89+
"json_log_formatter>=1.1.1",
90+
]
91+
7492
dev = [
7593
"ruff>=0.3.4",
7694
]

0 commit comments

Comments
 (0)