Source code for gordo.machine.metadata.metadata

from typing import Dict, Any, Optional
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json
from gordo import __version__


__all__ = [
    "Metadata",
    "BuildMetadata",
    "ModelBuildMetadata",
    "CrossValidationMetaData",
    "DatasetBuildMetadata",
]


[docs]@dataclass_json @dataclass class CrossValidationMetaData: scores: Dict[str, Any] = field(default_factory=dict) cv_duration_sec: Optional[float] = None splits: Dict[str, Any] = field(default_factory=dict)
[docs]@dataclass_json @dataclass class ModelBuildMetadata: model_offset: int = 0 model_creation_date: Optional[str] = None model_builder_version: str = __version__ cross_validation: CrossValidationMetaData = field( default_factory=CrossValidationMetaData ) model_training_duration_sec: Optional[float] = None model_meta: Dict[str, Any] = field(default_factory=dict)
[docs]@dataclass_json @dataclass class DatasetBuildMetadata: query_duration_sec: Optional[float] = None # How long it took to get the data dataset_meta: Dict[str, Any] = field(default_factory=dict)
[docs]@dataclass_json @dataclass class BuildMetadata: model: ModelBuildMetadata = field(default_factory=ModelBuildMetadata) dataset: DatasetBuildMetadata = field(default_factory=DatasetBuildMetadata)
[docs]@dataclass_json @dataclass class Metadata: user_defined: Dict[str, Any] = field(default_factory=dict) build_metadata: BuildMetadata = field(default_factory=BuildMetadata)