Goal
Restructure project to modern Python package layout with proper separation of concerns.
Current Issues
- Inconsistent naming:
anomaly-detection vs classification
- Mixed concerns: models, logs, lime outputs in module dirs
- No tests/ directory
- No proper package structure
Target Structure
project/
├── src/ # All source code
│ ├── anomaly_detection/ # Renamed from anomaly-detection
│ │ ├── models/
│ │ ├── training/
│ │ ├── evaluation/
│ │ └── utils/
│ ├── classification/
│ ├── federated_learning/ # NEW
│ ├── data/ # Data utilities
│ │ ├── loaders/
│ │ ├── preprocessing/
│ │ └── validation/
│ ├── common/ # Shared utilities
│ └── analysis/
├── tests/ # NEW
│ ├── unit/
│ └── integration/
├── outputs/ # All outputs (gitignored)
│ ├── models/
│ ├── logs/
│ └── lime_explanations/
└── ...
Migration Tasks
Breaking Changes
This will change all import paths:
# OLD
from anomaly-detection.train_autoencoder import train
# NEW
from src.anomaly_detection.training.train import train_autoencoder
Related
Priority
HIGH - Required before most other modernization work
Goal
Restructure project to modern Python package layout with proper separation of concerns.
Current Issues
anomaly-detectionvsclassificationTarget Structure
Migration Tasks
Breaking Changes
This will change all import paths:
Related
Priority
HIGH - Required before most other modernization work