schrodinger.application.models.datamodels.validation module

class schrodinger.application.models.datamodels.validation.InputViolationType

Bases: Enum

VALUE_TYPE = 1
class schrodinger.application.models.datamodels.validation.ConfigViolationType

Bases: Enum

DEFINITION_ID_MISMATCH = 1
PARENT_ID_MISMATCH = 2
class schrodinger.application.models.datamodels.validation.Violation(model: ModelInterface)

Bases: object

model: ModelInterface
__init__(model: ModelInterface) None
class schrodinger.application.models.datamodels.validation.InputViolation(model: ModelInterface, input: InputInterface, parent_input: InputInterface, violation_type: InputViolationType)

Bases: Violation

Violation for an input that exists in both parent and child.

input: InputInterface
parent_input: InputInterface
violation_type: InputViolationType
__init__(model: ModelInterface, input: InputInterface, parent_input: InputInterface, violation_type: InputViolationType) None
class schrodinger.application.models.datamodels.validation.MissingInputViolation(model: ModelInterface, parent_input: InputInterface)

Bases: Violation

Violation when child is missing an input that parent has.

parent_input: InputInterface
__init__(model: ModelInterface, parent_input: InputInterface) None
class schrodinger.application.models.datamodels.validation.UnexpectedInputViolation(model: ModelInterface, input: InputInterface)

Bases: Violation

Violation when child has an input that parent doesn’t have.

input: InputInterface
__init__(model: ModelInterface, input: InputInterface) None
class schrodinger.application.models.datamodels.validation.ConfigViolation(model: ModelInterface, parent: ModelInterface, violation_type: ConfigViolationType)

Bases: Violation

parent: ModelInterface
violation_type: ConfigViolationType
__init__(model: ModelInterface, parent: ModelInterface, violation_type: ConfigViolationType) None
class schrodinger.application.models.datamodels.validation.ValidationSummary(violations: list[Violation] | None = None)

Bases: object

__init__(violations: list[Violation] | None = None)
getViolations() list[Violation]
getModelViolations(model: ModelInterface) list[Violation]
addViolations(violations: list[Violation]) None
addViolation(violation: Violation) None
extend(other: Self) None
getInputViolations(inp: InputInterface) list[InputViolation | UnexpectedInputViolation]

Return violations for the given input.

Note: Does not include MissingInputViolation because those represent inputs that don’t exist in the child config.

class schrodinger.application.models.datamodels.validation.AbstractValidator

Bases: object

validate() ValidationSummary
class schrodinger.application.models.datamodels.validation.ModelTreeValidator(model_tree)

Bases: AbstractValidator

__init__(model_tree)
validate() ValidationSummary
validateTree() ValidationSummary
class schrodinger.application.models.datamodels.validation.CompositeModelValidator(composite)

Bases: AbstractValidator

__init__(composite)
validate() ValidationSummary
validateConfigurations() ValidationSummary
class schrodinger.application.models.datamodels.validation.DefinitionValidator

Bases: AbstractValidator

validate() ValidationSummary
class schrodinger.application.models.datamodels.validation.ConfigurationValidator(config: ModelConfiguration, parent: ModelInterface)

Bases: AbstractValidator

__init__(config: ModelConfiguration, parent: ModelInterface)
validate() ValidationSummary
class schrodinger.application.models.datamodels.validation.InputValidator(config: ModelConfiguration, parent: ModelInterface)

Bases: AbstractValidator

__init__(config: ModelConfiguration, parent: ModelInterface)
static getMismatchedInputNames(child: ModelInterface, parent: ModelInterface) tuple[set[str], set[str]]

Return input names that differ between child and parent.

Parameters:
  • child – The child model (config).

  • parent – The parent model (definition or config).

Returns:

A tuple of (unexpected, missing) name sets, where unexpected names are in child but not parent, and missing names are in parent but not child.

validate() ValidationSummary
class schrodinger.application.models.datamodels.validation.MetadataValidator

Bases: AbstractValidator

validate() ValidationSummary
schrodinger.application.models.datamodels.validation.validate_tree(model_tree) ValidationSummary

Validate the entire model tree and return a summary of violations.

schrodinger.application.models.datamodels.validation.validate_composite_model(composite) ValidationSummary

Validate the entire composite model and return a summary of violations.