Libraries¶
Jarvis includes several shared Python libraries that provide common functionality across services. These are installed as packages (typically via pip install -e .) rather than running as standalone services.
Library Inventory¶
| Library | Package | Description |
|---|---|---|
| Log Client | jarvis-log-client |
Structured logging via JarvisLogger |
| Config Client | jarvis-config-client |
Service URL discovery via config service |
| Settings Client | jarvis-settings-client |
Runtime settings reader |
| Auth Client | jarvis-auth-client |
Auth validation middleware and helpers |
| Web Scraper | jarvis-web-scraper |
Web content extraction for LLM consumption |
Installation¶
Libraries are installed as editable packages during service development:
Most services list these as dependencies in their pyproject.toml or setup.py.
Design Principles¶
- Graceful degradation -- if the backing service is unavailable, libraries fall back to safe defaults (e.g., log client falls back to console output)
- Minimal dependencies -- libraries keep their dependency footprint small
- Consistent interface -- all libraries follow similar initialization and configuration patterns