class_docstr: A class for managing Neptune experiment.
  
  Each time User creates new experiment instance of this class is created.
  It lets you manage experiment, :meth:`~neptune.experiments.Experiment.log_metric`,
  :meth:`~neptune.experiments.Experiment.log_text`,
  :meth:`~neptune.experiments.Experiment.log_image`,
  :meth:`~neptune.experiments.Experiment.set_property`,
  and much more.
  
  
  Args:
      backend (:obj:`neptune.ApiClient`): A ApiClient object
      project (:obj:`neptune.Project`): The project this experiment belongs to
      _id (:obj:`str`): Experiment id
      internal_id (:obj:`str`): internal ID
  
  Example:
      Assuming that `project` is an instance of :class:`~neptune.projects.Project`.
  
      .. code:: python3
  
          experiment = project.create_experiment()
  
  Warning:
      User should never create instances of this class manually.
      Always use: :meth:`~neptune.projects.Project.create_experiment`.
class_docstr_tok: ["A","class","for","managing","Neptune","experiment",".","Each","time","User","creates","new","experiment","instance","of","this","class","is","created",".","It","lets","you","manage","experiment",",",":","meth",":","`","~neptune.experiments.Experiment.log_metric","`",",",":","meth",":","`","~neptune.experiments.Experiment.log_text","`",",",":","meth",":","`","~neptune.experiments.Experiment.log_image","`",",",":","meth",":","`","~neptune.experiments.Experiment.set_property","`",",","and","much","more",".","Args",":","backend","(",":","obj",":","`","neptune.ApiClient","`",")",":","A","ApiClient","object","project","(",":","obj",":","`","neptune.Project","`",")",":","The","project","this","experiment","belongs","to","_id","(",":","obj",":","`","str","`",")",":","Experiment","id","internal_id","(",":","obj",":","`","str","`",")",":","internal","ID","Example",":","Assuming","that","`","project","`","is","an","instance","of",":","class",":","`","~neptune.projects.Project","`",".","..","code",":",":","python3","experiment","=","project.create_experiment","(",")","Warning",":","User","should","never","create","instances","of","this","class","manually",".","Always","use",":",":","meth",":","`","~neptune.projects.Project.create_experiment","`","."]
docstr: Marks experiment as finished (succeeded or failed).
  
  Args:
      exc_tb (:obj:`str`, optional, default is ``None``): Additional traceback information
          to be stored in experiment details in case of failure (stacktrace, etc).
          If this argument is ``None`` the experiment will be marked as succeeded.
          Otherwise, experiment will be marked as failed.
  
  Examples:
      Assuming that `experiment` is an instance of :class:`~neptune.experiments.Experiment`:
  
      .. code:: python3
  
          # Marks experiment as succeeded
          experiment.stop()
  
          # Assuming 'ex' is some exception,
          # it marks experiment as failed with exception info in experiment details.
          experiment.stop(str(ex))
docstr_tok: ["Marks","experiment","as","finished","(","succeeded","or","failed",")",".","Args",":","exc_tb","(",":","obj",":","`","str","`",",","optional",",","default","is","``","None","``",")",":","Additional","traceback","information","to","be","stored","in","experiment","details","in","case","of","failure","(","stacktrace",",","etc",")",".","If","this","argument","is","``","None","``","the","experiment","will","be","marked","as","succeeded",".","Otherwise",",","experiment","will","be","marked","as","failed",".","Examples",":","Assuming","that","`","experiment","`","is","an","instance","of",":","class",":","`","~neptune.experiments.Experiment","`",":","..","code",":",":","python3","#","Marks","experiment","as","succeeded","experiment.stop","(",")","#","Assuming","'ex","'","is","some","exception",",","#","it","marks","experiment","as","failed","with","exception","info","in","experiment","details",".","experiment.stop","(","str","(","ex",")",")"]
code: def stop(self, exc_tb=None):
      """Marks experiment as finished (succeeded or failed).
  
      Args:
          exc_tb (:obj:`str`, optional, default is ``None``): Additional traceback information
              to be stored in experiment details in case of failure (stacktrace, etc).
              If this argument is ``None`` the experiment will be marked as succeeded.
              Otherwise, experiment will be marked as failed.
  
      Examples:
          Assuming that `experiment` is an instance of :class:`~neptune.experiments.Experiment`:
  
          .. code:: python3
  
              # Marks experiment as succeeded
              experiment.stop()
  
              # Assuming 'ex' is some exception,
              # it marks experiment as failed with exception info in experiment details.
              experiment.stop(str(ex))
      """
  
      self._channels_values_sender.join()
  
      try:
          if exc_tb is not None:
              self._backend.mark_failed(self, exc_tb)
      except ExperimentAlreadyFinished:
          pass
  
      self._execution_context.stop()
  
      self._project._remove_stopped_experiment(self)
  
imports: import base64
  import logging
  import traceback
  import pandas
  import six
  from pandas.errors import EmptyDataError
  from neptune.common.experiments import LegacyExperiment
  from neptune.common.utils import align_channels_on_x, is_float, is_nan_or_inf
  from neptune.legacy.api_exceptions import ChannelDoesNotExist, ExperimentAlreadyFinished
  from neptune.legacy.exceptions import InvalidChannelValue, NeptuneIncorrectImportException, NoChannelValue
  from neptune.legacy.internal.channels.channels import ChannelNamespace, ChannelType, ChannelValue
  from neptune.legacy.internal.channels.channels_values_sender import ChannelsValuesSender
  from neptune.legacy.internal.execution.execution_context import ExecutionContext
  from neptune.legacy.internal.utils.deprecation import legacy_client_deprecation
  from neptune.legacy.internal.utils.image import get_image_content
label_desc: Use image node_id 39 for calling the Experiment obj's underlying member method code with example usage: obj.stop(exc_tb) without return types