feat(config): AppConfig + cached get_config() #19

Merged
goldstein merged 1 commit from feat/config into main 2026-04-18 09:39:01 +00:00
Owner

Typed pydantic-settings view over every IX_* env var, defaults matching spec §9 exactly. @lru_cache-wrapped accessor so parsing/validation happens once per process.

Chunk 3 Task 3.2. Local: 209 unit tests, ruff clean. Forgejo Actions trigger is flaky, local verification is the gate.

Typed pydantic-settings view over every IX_* env var, defaults matching spec §9 exactly. @lru_cache-wrapped accessor so parsing/validation happens once per process. Chunk 3 Task 3.2. Local: 209 unit tests, ruff clean. Forgejo Actions trigger is flaky, local verification is the gate.
goldstein added 1 commit 2026-04-18 09:38:55 +00:00
feat(config): AppConfig + cached get_config() (spec §9)
All checks were successful
tests / test (push) Successful in 1m1s
tests / test (pull_request) Successful in 58s
95728accbf
Typed pydantic-settings view over every IX_* env var, defaults matching
spec §9 exactly. @lru_cache-wrapped accessor so parsing/validation happens
once per process; tests clear the cache via get_config.cache_clear().

extra="ignore" keeps the container robust against typo'd env vars in
production .env files. engine.py's URL resolver now goes through
get_config() when ix.config is importable (bootstrap fallback remains so
hypothetical early-import callers don't crash).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
goldstein merged commit 8bb220ae43 into main 2026-04-18 09:39:01 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: goldstein/infoxtractor#19
No description provided.