class_docstr: Object that can be rendered by HiPlot. It essential contains a list of metrics, but also some options on how to render it.
  
  See :meth:`Experiment.display` to display an :class:`Experiment` in an ipython notebook.
  
  :ivar datapoints: All the measurements we have. One datapoint corresponds to one line in the parallel plot and to one line in the table.
  :ivar parameters_definition: Characteristics of the columns (ordering, type, etc...)
  :ivar colormap: Colormap to use
  :ivar colorby: Default column to color by
  :ivar weightcolumn: If rows have different weights, use this column as the weight (default to 1 if not specified)
  :ivar enabledDisplays: Ordered displays to enable (by default all are enabled)
  
  :Example:
  
  .. code-block:: python
  
      import hiplot as hip
      data = [{'param': 1, 'loss': 10, 'hidden_field': 'value1', 'c': 'red'},
          {'param': 2, 'loss': 5, 'hidden_field': 'value2', 'c': 'black'}]
      exp = hip.Experiment.from_iterable(data)
docstr: Streamlit only:
  creates a copy of the Experiment that you can cache,
  which only exposes the `display_st` method - see :ref:`tutoStreamlitCache`
  
  :param key: Unique key for the streamlit component.
  :param ret: Specify what HiPlot should return.
  :returns: A `component` object that be rendered with `component.display()`
  
  :Example:
  
  .. code-block:: python
  
      import streamlit as st
      import hiplot as hip
  
      @st.cache
      def get_experiment():
          # Create your hiplot experiment as usual
          big_exp = hip.Experiment.from_iterable(...)
          # ... and cache the component
          return big_exp.to_streamlit(key="hipl", ret=["brush_extents", "selected_uids"])
  
      exp = get_experiment() # This will be cached the second time
      brush_extents, selected_uids = exp.display()
docstr_tok: ["Streamlit","only",":","creates","a","copy","of","the","Experiment","that","you","can","cache",",","which","only","exposes","the","`","display_st","`","method","-","see",":","ref",":","`","tutoStreamlitCache","`",":","param","key",":","Unique","key","for","the","streamlit","component",".",":","param","ret",":","Specify","what","HiPlot","should","return",".",":","returns",":","A","`","component","`","object","that","be","rendered","with","`","component.display","(",")","`",":","Example",":","..","code-block",":",":","python","import","streamlit","as","st","import","hiplot","as","hip","@","st.cache","def","get_experiment","(",")",":","#","Create","your","hiplot","experiment","as","usual","big_exp","=","hip.Experiment.from_iterable","(","...",")","#","...","and","cache","the","component","return","big_exp.to_streamlit","(","key=","''","hipl","''",",","ret=","[","``","brush_extents","''",",","``","selected_uids","''","]",")","exp","=","get_experiment","(",")","#","This","will","be","cached","the","second","time","brush_extents",",","selected_uids","=","exp.display","(",")"]
code: def to_streamlit(
      self,
      key: tp.Optional[str] = None,
      ret: tp.Union[str, tp.List[str], None] = None,
  ) -> "ExperimentStreamlitComponent":
      """
      Streamlit only:
      creates a copy of the Experiment that you can cache,
      which only exposes the `display_st` method - see :ref:`tutoStreamlitCache`
  
      :param key: Unique key for the streamlit component.
      :param ret: Specify what HiPlot should return.
      :returns: A `component` object that be rendered with `component.display()`
  
      :Example:
  
      .. code-block:: python
  
          import streamlit as st
          import hiplot as hip
  
          @st.cache
          def get_experiment():
              # Create your hiplot experiment as usual
              big_exp = hip.Experiment.from_iterable(...)
              # ... and cache the component
              return big_exp.to_streamlit(key="hipl", ret=["brush_extents", "selected_uids"])
  
          exp = get_experiment() # This will be cached the second time
          brush_extents, selected_uids = exp.display()
  
      """
  
      from . import streamlit_helpers  # pylint: disable=cyclic-import
  
      if (
          not streamlit_helpers._StreamlitHelpers.is_running_within_streamlit()
      ):
          if _is_running_ipython():
              raise RuntimeError(
                  r"""`experiment.to_streamlit` can only be called in a streamlit script.
  It appears that you are trying to create a HiPlot visualization in ipython: you should use `display` instead of `to_streamlit`"""
              )
          raise RuntimeError(
              r"""`experiment.to_streamlit` can only be called in a streamlit script.
  To render an experiment to HTML, use `experiment.to_html(file_name)` or `html_page = experiment.to_html()`"""
          )
      return streamlit_helpers.ExperimentStreamlitComponent(
          self, key=key, ret=ret
      )
  
imports: import csv
  import uuid
  import json
  import codecs
  import warnings
  from abc import ABCMeta, abstractmethod
  from enum import Enum
  from collections import defaultdict
  from pathlib import Path
  import typing
label_desc: Use image node_id 8 for calling the Experiment obj's underlying member method code with example usage: obj.to_streamlit(key, ret) and returns: streamlit_helpers