schrodinger.application.models.datamodels.validation2 module¶
Validates model definitions against the YAML transform catalog and validates configuration hierarchy.
- class schrodinger.application.models.datamodels.validation2.SettingViolationType¶
Bases:
Enum- UNCASTABLE_VALUE = 1¶
- class schrodinger.application.models.datamodels.validation2.ConfigViolationType¶
Bases:
Enum- DEFINITION_ID_MISMATCH = 1¶
- PARENT_ID_MISMATCH = 2¶
- class schrodinger.application.models.datamodels.validation2.Violation(model: 'ModelInterface')¶
Bases:
object- model: ModelInterface¶
- getMessage() str¶
- __init__(model: ModelInterface) None¶
- class schrodinger.application.models.datamodels.validation2.SettingViolation(model: ModelInterface, setting: SettingBinding, transform_name: str, violation_type: SettingViolationType)¶
Bases:
ViolationViolation for a setting that exists in both parent and child.
- setting: SettingBinding¶
- transform_name: str¶
- violation_type: SettingViolationType¶
- getMessage() str¶
- __init__(model: ModelInterface, setting: SettingBinding, transform_name: str, violation_type: SettingViolationType) None¶
- class schrodinger.application.models.datamodels.validation2.MissingSettingViolation(model: ModelInterface, setting_name: str)¶
Bases:
ViolationViolation when child is missing a setting that parent has.
- setting_name: str¶
- getMessage() str¶
- __init__(model: ModelInterface, setting_name: str) None¶
- class schrodinger.application.models.datamodels.validation2.UnexpectedSettingViolation(model: ModelInterface, setting: SettingBinding, transform_name: str)¶
Bases:
ViolationViolation when child has a setting that parent doesn’t have.
- setting: SettingBinding¶
- transform_name: str¶
- getMessage() str¶
- __init__(model: ModelInterface, setting: SettingBinding, transform_name: str) None¶
- class schrodinger.application.models.datamodels.validation2.ConfigViolation(model: 'ModelInterface', parent: 'ModelInterface', violation_type: 'ConfigViolationType')¶
Bases:
Violation- parent: ModelInterface¶
- violation_type: ConfigViolationType¶
- getMessage() str¶
- __init__(model: ModelInterface, parent: ModelInterface, violation_type: ConfigViolationType) None¶
- class schrodinger.application.models.datamodels.validation2.MissingTransformViolation(model: ModelInterface, transform_name: str)¶
Bases:
ViolationViolation when child is missing a transform that parent has.
- transform_name: str¶
- getMessage() str¶
- __init__(model: ModelInterface, transform_name: str) None¶
- class schrodinger.application.models.datamodels.validation2.UnexpectedTransformViolation(model: ModelInterface, transform_name: str)¶
Bases:
ViolationViolation when child has a transform that parent doesn’t have.
- transform_name: str¶
- getMessage() str¶
- __init__(model: ModelInterface, transform_name: str) None¶
- class schrodinger.application.models.datamodels.validation2.ValidationSummary(violations: list[Violation] | None = None)¶
Bases:
object- getModelViolations(model: ModelInterface) list[Violation]¶
- extend(other: Self)¶
- getSettingViolations(setting: SettingBinding, transform_name: str) list[SettingViolation | UnexpectedSettingViolation]¶
Return violations for the given setting within a specific transform.
Note: Does not include MissingSettingViolation because those represent settings that don’t exist in the child config.
- class schrodinger.application.models.datamodels.validation2.AbstractValidator¶
Bases:
object- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.DefinitionValidator(definition: ModelInterface)¶
Bases:
AbstractValidatorValidate a model definition against the YAML transform catalog.
Checks that each transform name exists in the catalog and that each setting name matches a field in the transform’s spec.
- __init__(definition: ModelInterface)¶
- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.ConfigurationValidator(config: ModelConfiguration, parent: ModelInterface)¶
Bases:
AbstractValidator- __init__(config: ModelConfiguration, parent: ModelInterface)¶
- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.TransformValidator(child: ModelInterface, parent: ModelInterface)¶
Bases:
AbstractValidatorValidate that a config’s transforms match its parent’s transforms.
Checks for missing/unexpected transforms, then delegates to SettingValidator for each matched transform pair.
- __init__(child: ModelInterface, parent: ModelInterface)¶
- static getMismatchedTransformNames(child: ModelInterface, parent: ModelInterface) tuple[set[str], set[str]]¶
Return transform names that differ between child and parent.
- Returns:
A tuple of (unexpected, missing) name sets.
- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.SettingValidator(child: ModelInterface, child_transform: TransformBinding, parent_transform: TransformBinding | TransformSpec)¶
Bases:
AbstractValidatorValidate settings within a single matched transform pair.
- __init__(child: ModelInterface, child_transform: TransformBinding, parent_transform: TransformBinding | TransformSpec)¶
- static getMismatchedSettingNames(child_transform: TransformBinding, parent_transform: TransformBinding | TransformSpec) tuple[set[str], set[str]]¶
Return setting names that differ between child and parent transforms.
- Returns:
A tuple of (unexpected, missing) name sets.
- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.CompositeModelValidator(composite: CompositeModel)¶
Bases:
AbstractValidator- __init__(composite: CompositeModel)¶
- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.ModelTreeValidator(model_tree: Any)¶
Bases:
AbstractValidator- __init__(model_tree: Any)¶
- validate() ValidationSummary¶
- class schrodinger.application.models.datamodels.validation2.MetadataValidator¶
Bases:
AbstractValidator- validate() ValidationSummary¶
- schrodinger.application.models.datamodels.validation2.validate_tree(model_tree: Any) ValidationSummary¶
Validate the entire model tree and return a summary of violations.
- schrodinger.application.models.datamodels.validation2.validate_composite_model(composite: CompositeModel) ValidationSummary¶
Validate the entire composite model and return a summary of violations.