Maintain configuration in a single, consistent way across the codebase:
None, resolve them via config defaults (and document why). Prefer provider-specific keys so changing one provider doesn’t silently alter another.Example pattern (provider-specific defaults + None fallback):
def get_global_news(curr_date, look_back_days: int | None = 7, limit: int | None = 50) -> dict:
# Resolve None via provider-specific config keys
if look_back_days is None:
look_back_days = DEFAULT_CONFIG.get("global_news_look_back_days", 7)
if limit is None:
# Keep Alpha Vantage historical default separate from other providers
limit = DEFAULT_CONFIG.get("av_global_news_limit", 50)
...
Follow-up actions when issues are found:
Enter the URL of a public GitHub repository