dqm_ml_core.models.dataloaders
Data loading and transformation configuration models.
Defines models for filters, path sampling, data splitting, column transformations, and dataloader configurations for Parquet and CSV sources.
DataLoaderConfig
Bases: BaseModel
Configuration for a single dataloader (Parquet or CSV).
Source code in packages/dqm-ml-core/src/dqm_ml_core/models/dataloaders.py
batch_size: int = Field(default=10000, description='Number of rows per batch.')
class-attribute
instance-attribute
filters: list[FilterConfig] | None = None
class-attribute
instance-attribute
id_column: str | None = Field(default=None, description='Column used as row identifier.')
class-attribute
instance-attribute
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
name: str = Field(description='Unique name for this dataloader.')
class-attribute
instance-attribute
path: str = Field(description='Glob pattern or path to data files.')
class-attribute
instance-attribute
sample_path: list[SamplePathConfig] | None = None
class-attribute
instance-attribute
split: SplitConfig | None = None
class-attribute
instance-attribute
storage: StorageConfig | None = None
class-attribute
instance-attribute
transform: list[TransformConfig] | None = None
class-attribute
instance-attribute
type: Literal['parquet', 'csv'] = Field(description='Data file format.')
class-attribute
instance-attribute
DataLoadersConfig
Bases: BaseModel
Collection of dataloaders for a job.
Source code in packages/dqm-ml-core/src/dqm_ml_core/models/dataloaders.py
loaders: list[DataLoaderConfig] = Field(description='List of dataloader configurations.')
class-attribute
instance-attribute
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
storage: StorageConfig | None = Field(default=None, description='Default storage config inherited by all loaders.')
class-attribute
instance-attribute
FilterConfig
Bases: BaseModel
Row-level filter applied during data loading.
Source code in packages/dqm-ml-core/src/dqm_ml_core/models/dataloaders.py
column: str = Field(description='Column name to filter on.')
class-attribute
instance-attribute
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
values: list[bool] | list[str] | list[int] | list[float] = Field(description='Value(s) to keep. Rows where column matches are included.')
class-attribute
instance-attribute
SamplePathConfig
Bases: BaseModel
Per-column path prefix configuration.
Source code in packages/dqm-ml-core/src/dqm_ml_core/models/dataloaders.py
column: str = Field(description='Column name containing relative file paths.')
class-attribute
instance-attribute
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
prefix: str | None = Field(default=None, description='Base directory for resolving relative paths.')
class-attribute
instance-attribute
SplitConfig
Bases: BaseModel
How to split data into named groups (e.g. train / test).
Source code in packages/dqm-ml-core/src/dqm_ml_core/models/dataloaders.py
by: str = Field(description='Column used to determine the split group.')
class-attribute
instance-attribute
exclude: list[str] | None = Field(default=None, description='Split-group values to exclude (fnmatch patterns supported).')
class-attribute
instance-attribute
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
values: list[str] | None = Field(default=None, description='Explicit list of split-group values to materialise. Auto-discovered if None.')
class-attribute
instance-attribute
TransformConfig
Bases: BaseModel
Column type-casting transformation.
Source code in packages/dqm-ml-core/src/dqm_ml_core/models/dataloaders.py
column: str = Field(description='Column name to transform.')
class-attribute
instance-attribute
in_place: bool = Field(default=False, description='Overwrite the original column in place.')
class-attribute
instance-attribute
model_config = ConfigDict(extra='forbid')
class-attribute
instance-attribute
to_type: TransformType = Field(description='Target data type.')
class-attribute
instance-attribute
TransformType
Bases: str, Enum
Target data type for column transformations.