class_docstr: Stream over filenames in a directory
  
  Parameters
  ----------
  path: string
      Directory path or globstring over which to search for files
  poll_interval: Number
      Seconds between checking path
  start: bool (False)
      Whether to start running immediately; otherwise call stream.start()
      explicitly.
  
  Examples
  --------
  >>> source = Stream.filenames('path/to/dir')  # doctest: +SKIP
  >>> source = Stream.filenames('path/to/*.csv', poll_interval=0.500)  # doctest: +SKIP
class_docstr_tok: ["Stream","over","filenames","in","a","directory","Parameters","--","--","--","--","--","path",":","string","Directory","path","or","globstring","over","which","to","search","for","files","poll_interval",":","Number","Seconds","between","checking","path","start",":","bool","(","False",")","Whether","to","start","running","immediately",";","otherwise","call","stream.start","(",")","explicitly",".","Examples","--","--","--","--",">",">",">","source","=","Stream.filenames","(","'path\/to\/dir","'",")","#","doctest",":","+SKIP",">",">",">","source","=","Stream.filenames","(","'path\/to\/","*",".csv","'",",","poll_interval=0.500",")","#","doctest",":","+SKIP"]
code: def __init__(self, path, poll_interval=0.100, **kwargs):
      if "*" not in path:
          if os.path.isdir(path):
              if not path.endswith(os.path.sep):
                  path = path + "/"
              path = path + "*"
      self.path = path
      self.seen = set()
      self.poll_interval = poll_interval
      super().__init__(**kwargs)
  
imports: import asyncio
  from glob import glob
  import queue
  import os
  import time
  from tornado import gen
  import weakref
  from .core import Stream, convert_interval, RefCounter, sync
label_desc: Use image node_id 1 to create a new filenames object from inherited base classes: Source with example: obj = filenames(path, poll_interval)