class_docstr: Generate data from a function on given period
  
  cf ``streamz.dataframe.PeriodicDataFrame``
  
  Parameters
  ----------
  callback: callable
      Function to call on each iteration. Takes no arguments.
  poll_interval: float
      Time to sleep between calls (s)
class_docstr_tok: ["Generate","data","from","a","function","on","given","period","cf","``","streamz.dataframe.PeriodicDataFrame","``","Parameters","--","--","--","--","--","callback",":","callable","Function","to","call","on","each","iteration",".","Takes","no","arguments",".","poll_interval",":","float","Time","to","sleep","between","calls","(","s",")"]
code: def __init__(self, callback, poll_interval=0.1, **kwargs):
      self._cb = callback
      self._poll = 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 from_periodic object from inherited base classes: Source with example: obj = from_periodic(callback, poll_interval)