Coverage for packages/dqm-ml-core/src/dqm_ml_core/models/config.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-07-21 08:27 +0000

1"""Root job configuration model for DQM-ML pipelines. 

2 

3Defines the top-level JobConfig that composes all pipeline stage configurations 

4including storage, compute, error handling, data loading, and processor interfaces. 

5""" 

6 

7from pydantic import BaseModel, ConfigDict 

8 

9from dqm_ml_core.models.dataloaders import DataLoadersConfig 

10from dqm_ml_core.models.global_ import ComputeConfig, ErrorsConfig, StorageConfig 

11from dqm_ml_core.models.interfaces import FeaturesInterfaceConfig, GapInterfaceConfig, MetricsInterfaceConfig 

12 

13 

14class JobConfig(BaseModel): 

15 """Root configuration for a dqm-ml job. Each field maps to a pipeline stage.""" 

16 

17 model_config = ConfigDict(extra="forbid") 

18 

19 storage: StorageConfig | None = None 

20 compute: ComputeConfig | None = None 

21 errors: ErrorsConfig | None = None 

22 dataloaders: DataLoadersConfig 

23 features: FeaturesInterfaceConfig | None = None 

24 metrics: MetricsInterfaceConfig | None = None 

25 gap: GapInterfaceConfig | None = None