Source code for DashAI.back.metrics.base_metric

"""Base Metric abstract class."""

from typing import Any, Dict, Final


[docs] class BaseMetric: """Abstract class of all metrics.""" TYPE: Final[str] = "Metric" MAXIMIZE: Final[bool] = False metadata: Dict[str, Any] = {} @classmethod def get_metadata(cls) -> Dict[str, Any]: """ Get metadata values for the current metric. Returns ------- Dict[str, Any] Dictionary with the metadata """ meta: Dict[str, Any] = dict(getattr(cls, "metadata", {}) or {}) meta["maximize"] = cls.MAXIMIZE return meta