class_docstr: Watches multiple paths.
docstr: Constructor.
code: def __init__(self) -> None:
      """Constructor."""
      _MultiPathWatcher._singleton = self
  
      # Map of folder_to_watch -> _FolderEventHandler.
      self._folder_handlers: Dict[str, _FolderEventHandler] = {}
  
      # Used for mutation of _folder_handlers dict
      self._lock = threading.Lock()
  
      # The Observer object from the Watchdog module. Since this class is
      # only instantiated once, we only have a single Observer in Streamlit,
      # and it's in charge of watching all paths we're interested in.
      self._observer = Observer()
      self._observer.start()
  
imports: import os
  import threading
  from typing import Callable, Dict, Optional, cast
  from blinker import ANY, Signal
  from watchdog import events
  from watchdog.observers import Observer
  from watchdog.observers.api import ObservedWatch
  from streamlit.logger import get_logger
  from streamlit.util import repr_
  from streamlit.watcher import util
label_desc: Use image node_id 3 to create a new _MultiPathWatcher object from inherited base classes: object with example: obj = _MultiPathWatcher()