code: def __init__(
      self,
      experiment: Experiment,
      key: tp.Optional[str],
      ret: tp.Union[str, tp.List[str], None],
  ) -> None:
      if key is None:
          warnings.warn(
              r"""Creating a HiPlot component with key=None will make refreshes slower.
  Please use `experiment.to_streamlit(..., key=\"some_unique_key\")`"""
          )
          key = f"hiplot_autogen_{str(uuid.uuid4())}"
      self._exp_json = json.dumps(experiment._asdict())
      self._key = key
      self._ret = ret
      self._js_default_ret = tuple(
          self.get_default_return_for(experiment, ret=r)
          for r in self.js_ret_spec
      )
  
file_path: hiplot/hiplot/streamlit_helpers.py
imports: import typing
  import json
  import uuid
  import warnings
  from pathlib import Path
  from .experiment import Experiment, _is_running_ipython
label_desc: Use image node_id 1 to create a new ExperimentStreamlitComponent object  with example: obj = ExperimentStreamlitComponent(experiment, key, ret)