class_docstr: Represents an entry in database/experiments collection.
  
  Attributes
  ----------
  name: str
     Unique identifier for this experiment per ``user``.
  id: object
     id of the experiment in the database if experiment is configured. Value is ``None``
     if the experiment is not configured.
  refers: dict or list of `Experiment` objects, after initialization is done.
     A dictionary pointing to a past `Experiment` id, ``refers[parent_id]``, whose
     trials we want to add in the history of completed trials we want to re-use.
     For the purpose of convenience and database efficiency, all experiments of a common tree
     share a ``refers[root_id]``, with the root experiment referring to itself.
  version: int
      Current version of this experiment.
  metadata: dict
     Contains managerial information about this `Experiment`.
  max_trials: int
     How many trials must be evaluated, before considering this `Experiment` done.
     This attribute can be updated if the rest of the experiment configuration
     is the same. In that case, if trying to set to an already set experiment,
     it will overwrite the previous one.
  max_broken: int
     How many trials must be broken, before considering this `Experiment` broken.
     This attribute can be updated if the rest of the experiment configuration
     is the same. In that case, if trying to set to an already set experiment,
     it will overwrite the previous one.
  space: Space
     Object representing the optimization space.
  algorithm: `BaseAlgorithm` object or a wrapper.
     Complete specification of the optimization and dynamical procedures taking
     place in this `Experiment`.
  
  Notes
  -----
  
  The following list represents possible entries in the metadata dict.
  
  user: str
     System user currently owning this running process, the one who invoked **Oríon**.
  datetime: `datetime.datetime`
     When was this particular configuration submitted to the database.
  orion_version: str
     Version of **Oríon** which suggested this experiment. `user`'s current
     **Oríon** version.
  user_script: str
     Full absolute path to `user`'s executable.
  user_args: list of str
     Contains separate arguments to be passed when invoking `user_script`,
     possibly templated for **Oríon**.
  user_vcs: str, optional
     User's version control system for this executable's code repository.
  user_version: str, optional
     Current user's repository version.
  user_commit_hash: str, optional
     Current `Experiment`'s commit hash for **Oríon**'s invocation.
class_docstr_tok: ["Represents","an","entry","in","database\/experiments","collection",".","Attributes","--","--","--","--","--","name",":","str","Unique","identifier","for","this","experiment","per","``","user","``",".","id",":","object","id","of","the","experiment","in","the","database","if","experiment","is","configured",".","Value","is","``","None","``","if","the","experiment","is","not","configured",".","refers",":","dict","or","list","of","`","Experiment","`","objects",",","after","initialization","is","done",".","A","dictionary","pointing","to","a","past","`","Experiment","`","id",",","``","refers","[","parent_id","]","``",",","whose","trials","we","want","to","add","in","the","history","of","completed","trials","we","want","to","re-use",".","For","the","purpose","of","convenience","and","database","efficiency",",","all","experiments","of","a","common","tree","share","a","``","refers","[","root_id","]","``",",","with","the","root","experiment","referring","to","itself",".","version",":","int","Current","version","of","this","experiment",".","metadata",":","dict","Contains","managerial","information","about","this","`","Experiment","`",".","max_trials",":","int","How","many","trials","must","be","evaluated",",","before","considering","this","`","Experiment","`","done",".","This","attribute","can","be","updated","if","the","rest","of","the","experiment","configuration","is","the","same",".","In","that","case",",","if","trying","to","set","to","an","already","set","experiment",",","it","will","overwrite","the","previous","one",".","max_broken",":","int","How","many","trials","must","be","broken",",","before","considering","this","`","Experiment","`","broken",".","This","attribute","can","be","updated","if","the","rest","of","the","experiment","configuration","is","the","same",".","In","that","case",",","if","trying","to","set","to","an","already","set","experiment",",","it","will","overwrite","the","previous","one",".","space",":","Space","Object","representing","the","optimization","space",".","algorithm",":","`","BaseAlgorithm","`","object","or","a","wrapper",".","Complete","specification","of","the","optimization","and","dynamical","procedures","taking","place","in","this","`","Experiment","`",".","Notes","--","--","-","The","following","list","represents","possible","entries","in","the","metadata","dict",".","user",":","str","System","user","currently","owning","this","running","process",",","the","one","who","invoked","*","*","Or\u00edon","*","*",".","datetime",":","`","datetime.datetime","`","When","was","this","particular","configuration","submitted","to","the","database",".","orion_version",":","str","Version","of","*","*","Or\u00edon","*","*","which","suggested","this","experiment",".","`","user","`","'s","current","*","*","Or\u00edon","*","*","version",".","user_script",":","str","Full","absolute","path","to","`","user","`","'s","executable",".","user_args",":","list","of","str","Contains","separate","arguments","to","be","passed","when","invoking","`","user_script","`",",","possibly","templated","for","*","*","Or\u00edon","*","*",".","user_vcs",":","str",",","optional","User","'s","version","control","system","for","this","executable","'s","code","repository",".","user_version",":","str",",","optional","Current","user","'s","repository","version",".","user_commit_hash",":","str",",","optional","Current","`","Experiment","`","'s","commit","hash","for","*","*","Or\u00edon","*","*","'s","invocation","."]
docstr: Fetch a single Trial, see :meth:`orion.storage.base.BaseStorageProtocol.get_trial`
docstr_tok: ["Fetch","a","single","Trial",",","see",":","meth",":","`","orion.storage.base.BaseStorageProtocol.get_trial","`"]
code: def get_trial(self, trial=None, uid=None):
      """Fetch a single Trial, see :meth:`orion.storage.base.BaseStorageProtocol.get_trial`"""
      return self._storage.get_trial(trial, uid, experiment_uid=self.id)
  
imports: from __future__ import annotations
  import contextlib
  import copy
  import dataclasses
  import datetime
  import inspect
  import logging
  import math
  import typing
  from collections import Counter
  from dataclasses import dataclass, field
  from typing import Generator, Generic, Literal, TypeVar
  import pandas
  from orion.algo.base import BaseAlgorithm
  from orion.algo.space import Space
  from orion.core.evc.adapters import BaseAdapter
  from orion.core.evc.experiment import ExperimentNode
  from orion.core.io.database import DuplicateKeyError
  from orion.core.utils.exceptions import UnsupportedOperation
  from orion.core.utils.flatten import flatten
  from orion.core.worker.experiment_config import ExperimentConfig
  from orion.storage.base import BaseStorageProtocol, FailedUpdate
label_desc: Use image node_id 9 for calling the Experiment obj's underlying member method code with example usage: obj.get_trial(trial, uid) and returns: self