Commit 4ad75f7
feat(packaging): split into slim Stainless-managed client + hand-authored ADK overlay
Inverts the package-ownership direction so Stainless owns what it natively
generates and the hand-authored ADK overlay lives in its own subdir.
Layout changes:
- src/agentex/lib/ → adk/src/agentex/lib/ (`git mv`)
- Root pyproject.toml: renamed agentex-sdk → agentex-sdk-client; dropped
the 38 ADK deps; reverted requires-python to >= 3.11 (slim has no
3.12-only imports); removed the `agentex` CLI entry point.
- New adk/pyproject.toml: name = agentex-sdk; depends on agentex-sdk-client
+ 31 ADK deps; requires-python >= 3.12; ships only agentex/lib/*; owns
the `agentex` CLI entry point.
Net effect for consumers:
- pip install agentex-sdk → same as today (heavy install)
- pip install agentex-sdk-client → NEW slim option (6 deps, REST client only)
Non-breaking. agentex-sdk now depends on agentex-sdk-client, so existing
consumers transitively get the slim client deps without any code change.
Why invert: the previous design (slim sibling under client/, heavy at root)
required hand-modifying Stainless's emitted root pyproject.toml — risky
under codegen 3-way merge. With the inversion:
- Root pyproject.toml is 100% Stainless-owned (no manual edits to fight)
- ADK overlay is self-contained in adk/ — preserved via `keep_files`
- The future repo split (Option B in AGX1-292) becomes trivially
`mv adk/ ../scale-agentex-adk/`
Required Stainless dashboard work before this can ship:
- Set targets.python.options.package_name = "agentex-sdk-client"
- Reduce dashboard's dep list to the 6 bare-client deps
- Add `adk/**` to keep_files
Required PyPI work:
- Claim agentex-sdk-client package name; add token to repo secrets
- agentex-sdk publishing token moves to publish from adk/ (or stays in
same repo, just sourced from adk/)
Verified locally with Python 3.13:
- Both wheels build cleanly (slim: 154 files, 6 deps; heavy: agentex/lib/
only, 32 deps including agentex-sdk-client)
- Dual-install: no file conflicts; all imports resolve from both packages
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 0f177c9 commit 4ad75f7
350 files changed
Lines changed: 154 additions & 43 deletions
File tree
- adk
- src/agentex/lib
- adk
- _modules
- providers
- _modules
- utils
- _modules
- cli
- commands
- debug
- handlers
- templates
- default-langgraph
- project
- default-pydantic-ai
- project
- default
- project
- sync-langgraph
- project
- sync-openai-agents
- project
- sync-pydantic-ai
- project
- sync
- project
- temporal-openai-agents
- project
- temporal-pydantic-ai
- project
- temporal
- project
- utils
- core
- adapters
- llm
- streams
- clients
- temporal
- observability
- tests
- services
- adk
- acp
- providers
- utils
- temporal
- activities
- adk
- acp
- providers
- utils
- plugins
- claude_agents
- hooks
- openai_agents
- hooks
- interceptors
- models
- tests
- services
- types
- workers
- workflows
- tracing
- processors
- sdk
- config
- fastacp
- base
- impl
- tests
- state_machine
- utils
- types
- utils
- dev_tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
0 commit comments