class_docstr: An interface for communicating with a ScriptRunner. Thread-safe.
  
  AppSession makes requests of a ScriptRunner through this class, and
  ScriptRunner handles those requests.
class_docstr_tok: ["An","interface","for","communicating","with","a","ScriptRunner",".","Thread-safe",".","AppSession","makes","requests","of","a","ScriptRunner","through","this","class",",","and","ScriptRunner","handles","those","requests","."]
docstr: Request that the ScriptRunner stop running. A stopped ScriptRunner
  can't be used anymore. STOP requests succeed unconditionally.
docstr_tok: ["Request","that","the","ScriptRunner","stop","running",".","A","stopped","ScriptRunner","ca","n't","be","used","anymore",".","STOP","requests","succeed","unconditionally","."]
code: def request_stop(self) -> None:
      """Request that the ScriptRunner stop running. A stopped ScriptRunner
      can't be used anymore. STOP requests succeed unconditionally.
      """
      with self._lock:
          self._state = ScriptRequestType.STOP
  
imports: import threading
  from dataclasses import dataclass
  from enum import Enum
  from typing import Optional, cast
  from streamlit import util
  from streamlit.proto.WidgetStates_pb2 import WidgetStates
  from streamlit.runtime.state import coalesce_widget_states
label_desc: Use image node_id 2 for calling the ScriptRequests obj's underlying member method code with example usage: obj.request_stop() without return types