def interval(delay, start=None): end = [time.time() + start if start is not None else time.time() + delay] def f(): now = time.time() if end[0] < now: end[0] += delay return True return f