"""Date utilities for chartmetric_charts.""" from datetime import date from datetime import timedelta from typing import Generator def date_range_to_dates( start_date: date, end_date: date, ) -> Generator[date, None, None]: """Generate all dates in the range [start_date, end_date). Args: start_date (date): The date to start at (inclusive) end_date (date): The date to end before (exclusive) Yields: date: One date for every date in the range is yielded. """ date = start_date while date < end_date: yield date date += timedelta(days=1)