class_docstr: Low level FSEvents client. 
docstr: Returns a list or one or more events, or None if there are no more
  events to be read.
docstr_tok: ["Returns","a","list","or","one","or","more","events",",","or","None","if","there","are","no","more","events","to","be","read","."]
code: def read_events(self):
      """
      Returns a list or one or more events, or None if there are no more
      events to be read.
      """
      if not self.is_alive():
          return None
      return self._queue.get()
  
imports: import os
  import logging
  import unicodedata
  from threading import Thread
  from wandb_watchdog.utils.compat import queue
  from wandb_watchdog.events import FileDeletedEvent, FileModifiedEvent, FileCreatedEvent, FileMovedEvent, DirDeletedEvent, DirModifiedEvent, DirCreatedEvent, DirMovedEvent
  from wandb_watchdog.observers.api import BaseObserver, EventEmitter, DEFAULT_EMITTER_TIMEOUT, DEFAULT_OBSERVER_TIMEOUT
  import AppKit
  from FSEvents import FSEventStreamCreate, CFRunLoopGetCurrent, FSEventStreamScheduleWithRunLoop, FSEventStreamStart, CFRunLoopRun, CFRunLoopStop, FSEventStreamStop, FSEventStreamInvalidate, FSEventStreamRelease
  from FSEvents import kCFAllocatorDefault, kCFRunLoopDefaultMode, kFSEventStreamEventIdSinceNow, kFSEventStreamCreateFlagNoDefer, kFSEventStreamCreateFlagFileEvents, kFSEventStreamEventFlagItemCreated, kFSEventStreamEventFlagItemRemoved, kFSEventStreamEventFlagItemInodeMetaMod, kFSEventStreamEventFlagItemRenamed, kFSEventStreamEventFlagItemModified, kFSEventStreamEventFlagItemFinderInfoMod, kFSEventStreamEventFlagItemChangeOwner, kFSEventStreamEventFlagItemXattrMod, kFSEventStreamEventFlagItemIsDir, kFSEventStreamEventFlagItemIsSymlink
label_desc: Use image node_id 5 for calling the FSEventsQueue obj's underlying member method code with example usage: obj.read_events() and returns: self, None