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
« 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.
3Defines the top-level JobConfig that composes all pipeline stage configurations
4including storage, compute, error handling, data loading, and processor interfaces.
5"""
7from pydantic import BaseModel, ConfigDict
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
14class JobConfig(BaseModel):
15 """Root configuration for a dqm-ml job. Each field maps to a pipeline stage."""
17 model_config = ConfigDict(extra="forbid")
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