class_docstr: Represents an experiment with its trials and a store.
docstr: Initializes - autogenerates fields if args aren't set.
  
  Args:
      store_or_uri (Union[str, Store]): Store or database uri.
      name (str, optional): Name of experiment. Defaults to None and autogenerates.
      description (str, optional): Description of experiment. Defaults to None and autogenerates.
      _id (int, optional): ID of experiment. If provided, will associated with an existing experiment with same name. Defaults to None and creates a new experiment.
docstr_tok: ["Initializes","-","autogenerates","fields","if","args","are","n't","set",".","Args",":","store_or_uri","(","Union","[","str",",","Store","]",")",":","Store","or","database","uri",".","name","(","str",",","optional",")",":","Name","of","experiment",".","Defaults","to","None","and","autogenerates",".","description","(","str",",","optional",")",":","Description","of","experiment",".","Defaults","to","None","and","autogenerates",".","_id","(","int",",","optional",")",":","ID","of","experiment",".","If","provided",",","will","associated","with","an","existing","experiment","with","same","name",".","Defaults","to","None","and","creates","a","new","experiment","."]
code: def __init__(
      self,
      store_or_uri: Union[str, Store],
      name: str = None,
      description: str = None,
      _id: int = None,
  ):
      """Initializes - autogenerates fields if args aren't set.
  
      Args:
          store_or_uri (Union[str, Store]): Store or database uri.
          name (str, optional): Name of experiment. Defaults to None and autogenerates.
          description (str, optional): Description of experiment. Defaults to None and autogenerates.
          _id (int, optional): ID of experiment. If provided, will associated with an existing experiment with same name. Defaults to None and creates a new experiment.
      """
      if name is None:
          name = f"#{random.randint(0, 9999)}"
      if description is None:
          description = f"Experiment: {name}"
      if isinstance(store_or_uri, str):
          self._store = Store(store_or_uri)
      else:
          self._store = store_or_uri
      self._name = name
      self._description = description
      self._id = _id
      self._trials = []
  
imports: import random
  from types import FunctionType
  import pandas
  from typing import Dict, Iterable
  from typing import Type, TypeVar
  from powerlift.bench.store import Store
  from typing import Union, Optional, List
  from dataclasses import dataclass
  from numbers import Number
  from powerlift.executors.base import Executor
  from powerlift.executors import LocalMachine
label_desc: Use image node_id 1 to create a new Experiment object  with example: obj = Experiment(store_or_uri, name, description, _id)