czbenchmarks.models.validators.base_model_validator =================================================== .. py:module:: czbenchmarks.models.validators.base_model_validator Attributes ---------- .. autoapisummary:: czbenchmarks.models.validators.base_model_validator.logger Classes ------- .. autoapisummary:: czbenchmarks.models.validators.base_model_validator.BaseModelValidator Module Contents --------------- .. py:data:: logger .. py:class:: BaseModelValidator Bases: :py:obj:`abc.ABC` Abstract base class for model validators. Defines the interface for validating datasets against model requirements. Validators ensure datasets meet model-specific requirements like: - Compatible data types - Required metadata fields - Organism compatibility - Feature name formats Each validator must: 1. Define a dataset_type class variable 2. Define a model_type class variable or model_name property 3. Implement _validate_dataset, inputs, and outputs .. py:attribute:: dataset_type :type: ClassVar[Type[czbenchmarks.datasets.BaseDataset]] .. py:attribute:: model_type :type: ClassVar[czbenchmarks.models.types.ModelType] .. py:method:: __init_subclass__() -> None :classmethod: Validate that subclasses define required class variables and follow naming conventions. :raises TypeError: If required class variables are missing or invalid :raises ValueError: If class naming doesn't follow conventions .. py:property:: inputs :type: Set[czbenchmarks.datasets.DataType] :abstractmethod: Required input data types this model requires. :returns: Set of required DataType enums .. py:property:: outputs :type: Set[czbenchmarks.datasets.DataType] :abstractmethod: Output data types produced by this model. :returns: Set of output DataType enums .. py:method:: validate_dataset(dataset: czbenchmarks.datasets.BaseDataset) Validate a dataset meets all model requirements. Checks: 1. Dataset type matches model requirements 2. Required inputs are available 3. Model-specific validation rules :param dataset: Dataset to validate :raises ValueError: If validation fails