class_docstr: Experiment information.
code: def __init__(
      self,
      key,
      filename,
      args,
      pythonenv,
      project=None,
      artifacts=None,
      status="waiting",
      resources_needed=None,
      time_added=None,
      time_started=None,
      time_last_checkpoint=None,
      time_finished=None,
      info=None,
      git=None,
      metric=None,
      pythonver=None,
      max_duration=None,
      owner=None,
      from_compl_service: bool = False,
  ):
      if info is None:
          info = {}
  
      self.key = key
      self._build_args(filename, args)
      self.owner = owner if owner else None
      self.from_compl_service = from_compl_service
  
      self.pythonenv = pythonenv
      self.project = project
      self.pythonver = pythonver
      if self.pythonver is None:
          self.pythonver = "{0}.{1}".format(
              sys.version_info[0], sys.version_info[1]
          )
  
      self._build_artifacts(key, artifacts)
  
      self.resources_needed = resources_needed
      self.status = status
      self.time_added = time_added
      self.time_started = time_started
      self.time_last_checkpoint = time_last_checkpoint
      self.time_finished = time_finished
      self.info = info
      self.git = git
      self.metric = metric
      self.max_duration = max_duration
  
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 1 to create a new Experiment object  with example: obj = Experiment(key, filename, args, pythonenv, project, artifacts, status, resources_needed, time_added, time_started, time_last_checkpoint, time_finished, info, git, metric, pythonver, max_duration, owner, from_compl_service)