class_docstr: Experiment node to connect experiments to EVC tree.
  
  The node carries an experiment in attribute `item`. The node can be instantiated only using the
  name of the experiment. The experiment will be created lazily on access to `node.item`.
  
  Attributes
  ----------
  name: str
      Name of the experiment
  item: None or :class:`orion.core.worker.experiment.Experiment`
      None if the experiment is not initialized yet. When initializing lazily, it creates an
      `Experiment` in read only mode.
  
  .. seealso::
  
      :py:class:`orion.core.utils.tree.TreeNode` for tree-specific attributes and methods.
class_docstr_tok: ["Experiment","node","to","connect","experiments","to","EVC","tree",".","The","node","carries","an","experiment","in","attribute","`","item","`",".","The","node","can","be","instantiated","only","using","the","name","of","the","experiment",".","The","experiment","will","be","created","lazily","on","access","to","`","node.item","`",".","Attributes","--","--","--","--","--","name",":","str","Name","of","the","experiment","item",":","None","or",":","class",":","`","orion.core.worker.experiment.Experiment","`","None","if","the","experiment","is","not","initialized","yet",".","When","initializing","lazily",",","it","creates","an","`","Experiment","`","in","read","only","mode",".","..","seealso",":",":",":","py",":","class",":","`","orion.core.utils.tree.TreeNode","`","for","tree-specific","attributes","and","methods","."]
docstr: Get the experiment associated to the node
  
  Note that accessing `item` may trigger the lazy initialization of the experiment if it was
  not done already.
docstr_tok: ["Get","the","experiment","associated","to","the","node","Note","that","accessing","`","item","`","may","trigger","the","lazy","initialization","of","the","experiment","if","it","was","not","done","already","."]
code: def item(self):
      """Get the experiment associated to the node
  
      Note that accessing `item` may trigger the lazy initialization of the experiment if it was
      not done already.
      """
      if self._item is None:
          # TODO: Find another way around the circular import
          from orion.core.io import experiment_builder
  
          self._item = experiment_builder.load(
              name=self.name, version=self.version, storage=self.storage
          )
          self._item._node = self
  
      return self._item
  
file_path: orion/src/orion/core/evc/experiment.py
imports: import functools
  import logging
  from orion.core.utils.tree import TreeNode
label_desc: Use image node_id 2 for calling the ExperimentNode obj's underlying member method code with example usage: obj.item() and returns: self