class_docstr: Abstract base class
class_docstr_tok: ["Abstract","base","class"]
code: def deserialize(cls, value):
      if value is None:
          return None
      metric_type = value.get("_type", "INVALID")
      metric_name = value.get("_name", None)
      metric_cls = _str_type_to_type.get(metric_type, None)
      if metric_cls:
          return metric_cls.deserialize(metric_name, value)
      else:
          raise NotImplementedError(
              "Metric class %s is not supported" % metric_type
          )
  
imports: import time
  from contextlib import contextmanager
  from metaflow.sidecar import Message, MessageTypes, Sidecar
label_desc: Use image node_id 8 for calling the Metric obj's underlying member method code with example usage: obj.deserialize(cls, value) and returns: None, metric_cls