class_docstr: Platform-independent emitter that polls a directory to detect file
  system changes.
class_docstr_tok: ["Platform-independent","emitter","that","polls","a","directory","to","detect","file","system","changes","."]
code: def __init__(
      self,
      event_queue,
      watch,
      timeout=DEFAULT_EMITTER_TIMEOUT,
      stat=default_stat,
      listdir=os.listdir,
  ):
      EventEmitter.__init__(self, event_queue, watch, timeout)
      self._snapshot = None
      self._lock = threading.Lock()
      self._take_snapshot = lambda: DirectorySnapshot(
          self.watch.path,
          self.watch.is_recursive,
          stat=stat,
          listdir=listdir,
      )
  
file_path: wandb/wandb/vendor/watchdog_0_9_0/wandb_watchdog/observers/polling.py
imports: from __future__ import with_statement
  import os
  import threading
  from functools import partial
  from wandb_watchdog.utils import stat
  from wandb_watchdog.utils.dirsnapshot import DirectorySnapshot, DirectorySnapshotDiff
  from wandb_watchdog.observers.api import EventEmitter, BaseObserver, DEFAULT_OBSERVER_TIMEOUT, DEFAULT_EMITTER_TIMEOUT
  from wandb_watchdog.events import DirMovedEvent, DirDeletedEvent, DirCreatedEvent, DirModifiedEvent, FileMovedEvent, FileDeletedEvent, FileCreatedEvent, FileModifiedEvent
label_desc: Use image node_id 1 to create a new PollingEmitter object from inherited base classes: EventEmitter with example: obj = PollingEmitter(event_queue, watch, timeout, stat, listdir)