code: def primary_metric_to_pb(
      pm: Optional[PrimaryMetric],
  ) -> Optional[pb.PrimaryMetric]:
      if pm is None:
          return None
      if pm["goal"] == "maximize":
          goal = pb.PrimaryMetric.Goal.MAXIMIZE
      else:
          goal = pb.PrimaryMetric.Goal.MINIMIZE
      return pb.PrimaryMetric(name=pm["name"], goal=goal)
  
imports: import datetime
  import json
  from typing import List, Dict, Any, Optional, MutableMapping
  from google.protobuf import timestamp_pb2
  from .servicepb import keepsake_pb2
  from .experiment import Experiment
  from .checkpoint import Checkpoint, PrimaryMetric, CheckpointList
label_desc: Use image node_id 19 for calling a global function with example usage: primary_metric_to_pb(pm) and returns: pb, None