code: def throttle( self, wait=True ):
          
          now = time.time( )
          last_invocation = self.per_thread.last_invocation
          if last_invocation is not None:
              interval = now - last_invocation
              if interval < self.min_interval:
                  if wait:
                      remainder = self.min_interval - interval
                      time.sleep( remainder )
                  else:
                      return False
          self.per_thread.last_invocation = now
          return True
docs: If the wait parameter is True, this method returns True after suspending the current
          thread as necessary to ensure that no less than the configured minimum interval has
          passed since the last invocation of this method in the current thread returned True.
  
          If the wait parameter is False, this method immediatly returns True (if at least the
          configured minimum interval has passed since the last time this method returned True in
          the current thread) or False otherwise.