ADR-004: Keep the base install dependency-free¶
- Status: Accepted
- Date: 2026-05-11
- Updated: 2026-07-28
Context¶
Required HTTP, validation, and telemetry libraries increase installation size, version conflicts, and security-maintenance work.
Decision¶
Keep project.dependencies empty. Implement the base behavior with the Python
standard library and expose focused extras:
httpxfor the async HTTP transport;jsonschemafor full tool-argument schema validation;otelfor OpenTelemetry API support;devanddocsfor contributor tooling.
Consequences¶
- The base package can make requests through
urllib. - Optional capabilities must have a defined fallback or fail clearly.
- Code paths with and without each extra require tests.
- A new required dependency needs a new architecture decision.
Rejected alternatives¶
Making the optional libraries required would simplify some code paths but would remove the small base-install contract.