class_docstr: Data provider for managing experiment lifecycle.
class_docstr_tok: ["Data","provider","for","managing","experiment","lifecycle","."]
code: def stop_experiment(self, key):
      # can be called remotely (the assumption is
      # that remote worker checks experiments status periodically,
      # and if it is 'stopped', kills the experiment)
      key = self._experiment_key(key)
  
      experiment_data = self._get(self._get_experiments_keybase() + key)
  
      experiment_data["status"] = "stopped"
  
      self._set(self._get_experiments_keybase() + key, experiment_data)
  
imports: import time
  from concurrent.futures import ThreadPoolExecutor, wait
  from studio.util import util, logs
  from studio.storage.storage_handler import StorageHandler
  from studio.artifacts.artifact import Artifact
  from studio.experiments.experiment import Experiment, experiment_from_dict
  from studio.storage.storage_setup import get_storage_verbose_level
  from studio.util.util import retry, report_fatal, compression_to_extension, check_for_kb_interrupt
label_desc: Use image node_id 13 for calling the KeyValueProvider obj's underlying member method code with example usage: obj.stop_experiment(key) without return types