Summary
In config.py, settings = Settings() is instantiated at module load time. This makes it difficult to override settings during tests (DI-unfriendly).
Proposed Approach
- Replace the module-level
settings = Settings() with a get_settings() function that lazily initializes the singleton
- Allow tests to override settings via the function or a reset mechanism
- Update all call sites that reference
settings directly
Affected Files
src/barscan/config.py
- All files that import
settings from config.py
Summary
In
config.py,settings = Settings()is instantiated at module load time. This makes it difficult to override settings during tests (DI-unfriendly).Proposed Approach
settings = Settings()with aget_settings()function that lazily initializes the singletonsettingsdirectlyAffected Files
src/barscan/config.pysettingsfromconfig.py