RFC: Dependency Layering¶
Status: Deferred
Problem¶
pip install agentica currently installs both SDK core dependencies and product defaults needed by CLI and DeepAgent. This preserves the one-command experience, but light SDK users also receive terminal UI, crawler, parser, and product-surface dependencies they may not need.
Current Decision¶
Keep the current dependency set for v1.4.x. The CLI and DeepAgent must remain usable after a plain pip install agentica, and past attempts to move crawler dependencies into extras caused the default CLI path to crash.
Candidate Future Shape¶
agentica-core
Agent / Runner / RunConfig / Tool / Model / RunResponse
agentica[workspace]
Workspace / memory files / skills parsing
agentica[cli]
prompt-toolkit / rich / DeepAgent product preset / builtin product tools
agentica[gateway]
FastAPI service / channels / scheduled daily tasks
agentica[tools-*]
Search / browser / research / media / finance tool bundles
Migration Constraints¶
- Do not break
agenticaCLI for existing users. - Do not make
DeepAgent()crash after plain installation. - Keep
Agentand custom tool users on the smallest stable import path possible. - Any split must include tests that install the minimal package and verify imports for
Agent,RunConfig,Tool, and core providers. - Any split must include tests that install the CLI extra and verify
agentica --querycan construct aDeepAgentwith builtin tools.
Recommendation¶
Do not split packages in this PR. First finish API layering documentation, daily task failure visibility, and preset boundaries. Revisit this RFC when preparing a major version or when packaging telemetry shows dependency conflicts from light SDK users.