Restructured src to more logical heirachy

This commit is contained in:
2026-02-09 16:22:05 +00:00
parent 7e63e6ea45
commit fcbde7c689
35 changed files with 0 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# core/ — Foundation Layer
Configuration, state models, and logging setup.
## Modules
**config.py**`PathConfig` dataclass encapsulating all file paths (data dir, images, CSVs, fonts).
- `validate()` method checks existence of required directories and files
- `default_paths` module instance resolves from `Path.cwd()` (not package location)
- Critical: CWD must be project root for relative paths to work
**models.py**`AnalysisFilters` dataclass for UI filter state (dates, drugs, trusts, directories).
**logging_config.py** — Structured logging with file + console output.
- `setup_logging()` initializes handlers
- `get_logger(name)` returns configured logger
**__init__.py** — Re-exports `PathConfig`, `default_paths`, `AnalysisFilters` for easy importing.
## Usage
```python
from core import PathConfig, default_paths, AnalysisFilters
default_paths.validate() # Verify config on startup
```