class_docstr: inotify(7)-based event emitter.
  
  :param event_queue:
      The event queue to fill with events.
  :param watch:
      A watch object representing the directory to monitor.
  :type watch:
      :class:`watchdog.observers.api.ObservedWatch`
  :param timeout:
      Read events blocking timeout (in seconds).
  :type timeout:
      ``float``
class_docstr_tok: ["inotify","(","7",")","-based","event","emitter",".",":","param","event_queue",":","The","event","queue","to","fill","with","events",".",":","param","watch",":","A","watch","object","representing","the","directory","to","monitor",".",":","type","watch",":",":","class",":","`","watchdog.observers.api.ObservedWatch","`",":","param","timeout",":","Read","events","blocking","timeout","(","in","seconds",")",".",":","type","timeout",":","``","float","``"]
code: def __init__(
      self, event_queue, watch, timeout=DEFAULT_EMITTER_TIMEOUT
  ):
      EventEmitter.__init__(self, event_queue, watch, timeout)
      self._lock = threading.Lock()
      self._inotify = None
  
imports: from __future__ import with_statement
  import os
  import threading
  from .inotify_buffer import InotifyBuffer
  from wandb_watchdog.observers.api import EventEmitter, BaseObserver, DEFAULT_EMITTER_TIMEOUT, DEFAULT_OBSERVER_TIMEOUT
  from wandb_watchdog.events import DirDeletedEvent, DirModifiedEvent, DirMovedEvent, DirCreatedEvent, FileDeletedEvent, FileModifiedEvent, FileMovedEvent, FileCreatedEvent, generate_sub_moved_events, generate_sub_created_events
  from wandb_watchdog.utils import unicode_paths
label_desc: Use image node_id 1 to create a new InotifyEmitter object from inherited base classes: EventEmitter with example: obj = InotifyEmitter(event_queue, watch, timeout)