def intervals(start, end, interval):
    """
    Yields MayaDT objects between the start and end MayaDTs given,
    at a given interval (seconds or timedelta).
    """
    interval = _seconds_or_timedelta(interval)
    current_timestamp = start
    while current_timestamp.epoch < end.epoch:
        yield current_timestamp

        current_timestamp = current_timestamp.add(
            seconds=interval.total_seconds()
        )