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 children of the experiment, empty list if no children
  
  .. note::
  
      The instantiation of an EVC tree is lazy, which means accessing the children of a node
      may trigger a call to database to build those children live.
docstr_tok: ["Get","children","of","the","experiment",",","empty","list","if","no","children","..","note",":",":","The","instantiation","of","an","EVC","tree","is","lazy",",","which","means","accessing","the","children","of","a","node","may","trigger","a","call","to","database","to","build","those","children","live","."]
code: def children(self):
      """Get children of the experiment, empty list if no children
  
      .. note::
  
          The instantiation of an EVC tree is lazy, which means accessing the children of a node
          may trigger a call to database to build those children live.
  
      """
      if self._no_children_lookup:
          self._children = []
          self._no_children_lookup = False
          query = {"refers.parent_id": self.item.id}
          selection = {"name": 1, "version": 1}
          experiments = self.storage.fetch_experiments(query, selection)
          for child in experiments:
              self.add_children(
                  ExperimentNode(
                      name=child["name"],
                      version=child.get("version", 1),
                      storage=self.storage,
                  )
              )
  
      return self._children
  
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 4 for calling the ExperimentNode obj's underlying member method code with example usage: obj.children() and returns: self