Skip to content

factory

Factory to create Evidence artifacts from models.

EvidenceFactory

Source code in mlte/evidence/factory.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class EvidenceFactory:

    @staticmethod
    def from_model(artifact_model: ArtifactModel) -> Evidence:
        """Returns a proper artifact from the given model."""
        evidence_model = typing.cast(EvidenceModel, artifact_model.body)
        evidence_type = evidence_model.value.evidence_type
        if evidence_type == EvidenceType.INTEGER:
            return Integer.from_model(artifact_model)
        if evidence_type == EvidenceType.REAL:
            return Real.from_model(artifact_model)
        if evidence_type == EvidenceType.IMAGE:
            return Image.from_model(artifact_model)
        if evidence_type == EvidenceType.ARRAY:
            return Array.from_model(artifact_model)
        if evidence_type == EvidenceType.STRING:
            return String.from_model(artifact_model)
        if evidence_type == EvidenceType.OPAQUE:
            return Opaque.from_model(artifact_model)

        raise RuntimeError(f"Evidence type {evidence_type} not supported.")

from_model(artifact_model) staticmethod

Returns a proper artifact from the given model.

Source code in mlte/evidence/factory.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@staticmethod
def from_model(artifact_model: ArtifactModel) -> Evidence:
    """Returns a proper artifact from the given model."""
    evidence_model = typing.cast(EvidenceModel, artifact_model.body)
    evidence_type = evidence_model.value.evidence_type
    if evidence_type == EvidenceType.INTEGER:
        return Integer.from_model(artifact_model)
    if evidence_type == EvidenceType.REAL:
        return Real.from_model(artifact_model)
    if evidence_type == EvidenceType.IMAGE:
        return Image.from_model(artifact_model)
    if evidence_type == EvidenceType.ARRAY:
        return Array.from_model(artifact_model)
    if evidence_type == EvidenceType.STRING:
        return String.from_model(artifact_model)
    if evidence_type == EvidenceType.OPAQUE:
        return Opaque.from_model(artifact_model)

    raise RuntimeError(f"Evidence type {evidence_type} not supported.")