import threading class StoppableThread(threading.Thread): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._stop_event = threading.Event() self._pause_event = threading.Event() def stop(self): self._stop_event.set() def stopped(self): return self._stop_event.is_set()