docs: def f_daterange(freq, tz='UTC', *args, **kwargs):
      """
      Use ``dateutil.rrule`` to create a range of dates. The frequency must be a
      string in the following list: YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY,
      MINUTELY or SECONDLY.
  
      See `dateutil rrule`_ documentation for more detail.
  
      .. _dateutil rrule: https://dateutil.readthedocs.org/en/latest/rrule.html
  
      :param freq: One of the ``dateutil.rrule`` frequencies
      :type freq: str
      :param tz: One of the ``pytz`` timezones, defaults to UTC
      :type tz: str
      :param args: start date <datetime>, interval between each frequency <int>,
          max number of recurrences <int>, end date <datetime>
      :param kwargs: ``dtstart``, ``interval``, ``count``, ``until``
      :return: range of dates
      :rtype: list
      """
      tz = pytz.timezone(tz)
      freq = getattr(rrule, freq.upper())  # get frequency enumeration from rrule
      return [tz.localize(dt) for dt in rrule.rrule(freq, *args, **kwargs)]