code: def experiment_from_pb(project, exp_pb: pb.Experiment) -> Experiment:
      exp = Experiment(
          project=project,
          id=exp_pb.id,
          created=timestamp_from_pb(exp_pb.created),
          user=noneable(exp_pb.user),
          host=noneable(exp_pb.host),
          command=noneable(exp_pb.command),
          config=config_from_pb(exp_pb.config),
          path=noneable(exp_pb.path),
          params=value_map_from_pb(exp_pb.params),
          python_packages=noneable(exp_pb.pythonPackages),
          python_version=noneable(exp_pb.pythonVersion),
          keepsake_version=noneable(exp_pb.keepsakeVersion),
      )
      exp.checkpoints = checkpoints_from_pb(exp, exp_pb.checkpoints)
      return exp
  
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 7 for calling a global function with example usage: experiment_from_pb(project, exp_pb) and returns: exp