class_docstr: Experiment information.
code: def to_dict(self):
      result = dict()
      result["key"] = self.key
      result["args"] = self.args
      result["filename"] = self.filename
      result["pythonenv"] = self.pythonenv
      result["project"] = self.project
      result["pythonver"] = self.pythonver
      result["resources_needed"] = self.resources_needed
      result["status"] = self.status
      result["time_added"] = self.time_added
      result["time_started"] = self.time_started
      result["time_last_checkpoint"] = self.time_last_checkpoint
      result["time_finished"] = self.time_finished
      result["info"] = self.info
      result["git"] = self.git
      result["metric"] = self.metric
      result["max_duration"] = self.max_duration
      result["owner"] = self.owner
      result["from_compl_service"] = self.from_compl_service
  
      # Process artifacts:
      artifacts_dict = dict()
      for art_name, art in self.artifacts.items():
          artifacts_dict[art_name] = art.to_dict()
      result["artifacts"] = artifacts_dict
      return result
  
file_path: studio/studio/experiments/experiment.py
imports: import uuid
  import sys
  import time
  from studio.artifacts import artifacts_tracker
  from studio.artifacts.artifact import Artifact
  from studio.util.util import shquote
  from studio.dependencies_policies.dependencies_policy import DependencyPolicy
label_desc: Use image node_id 4 for calling the Experiment obj's underlying member method code with example usage: obj.to_dict() and returns: result