.datetime(2015, 1, 31, 0, 0),
     datetime.datetime(2015, 3, 31, 0, 0),
     datetime.datetime(2015, 5, 31, 0, 0)]

Additionally, it supports the following keyword arguments:

:param dtstart:
    The recurrence start. Besides being the base for the recurrence,
    missing parameters in the final recurrence instances will also be
    extracted from this date. If not given, datetime.now() will be used
    instead.
:param interval:
    The interval between each freq iteration. For example, when using
    YEARLY, an interval of 2 means once every two years, but with HOURLY,
    it means once every two hours. The default interval is 1.
:param wkst:
    The week start day. Must be one of the MO, TU, WE constants, or an
    integer, specifying the first day of the week. This will affect
    recurrences based on weekly periods. The default week start is got
    from calendar.firstweekday(), and may be modified by
    calendar.setfirstweekday().
:param count:
    If given, this determines how many occurrences will be generated.

    .. note::
        As of version 2.5.0, the use of the keyword ``until`` in conjunction
        with ``count`` is deprecated, to make sure ``dateutil`` is fully
        compliant with `RFC-5545 Sec. 3.3.10 <https://tools.ietf.org/
        html/rfc5545#section-3.3.10>`_. Therefore, ``until`` and ``count``
        **must not** occur in the same call to ``rrule``.
:param until:
    If given, this must be a datetime instance specifying the upper-bound
    limit of the recurrence. The last recurrence in the rule is the greatest
    datetime that is less than or equal to the value specified in the
    ``until`` parameter.

    .. note::
        As of version 2.5.0, the use of the keyword ``until`` in conjunction
        with ``count`` is deprecated, to make sure ``dateutil`` is fully
        compliant with `RFC-5545 Sec. 3.3.10 <https://tools.ietf.org/
        html/rfc5545#section-3.3.10>`_. Therefore, ``until`` and ``count``
        **must not** occur in the same call to ``rrule``.
:param bysetpos:
    If given, it must be either an integer, or a sequence of integers,
    positive or negative. Each given integer will specify an occurrence
    number, corresponding to the nth occurrence of the rule inside the
    frequency period. For example, a bysetpos of -1 if combined with a
    MONTHLY frequency, and a byweekday of (MO, TU, WE, TH, FR), will
    result in the last work day of every month.
:param bymonth:
    If given, it must be either an integer, or a sequence of integers,
    meaning the months to apply the recurrence to.
:param bymonthday:
    If given, it must be either an integer, or a sequence of integers,
    meaning the month days to apply the recurrence to.
:param byyearday:
    If given, it must be either an integer, or a sequence of integers,
    meaning the year days to apply the recurrence to.
:param byeaster:
    If given, it must be either an integer, or a sequence of integers,
    positive or negative. Each integer will define an offset from the
    Easter Sunday. Passing the offset 0 to byeaster will yield the Easter
    Sunday itself. This is an extension to the RFC specification.
:param byweekno:
    If given, it must be either an integer, or a sequence of integers,
    meaning the week numbers to apply the recurrence to. Week numbers
    have the meaning described in ISO8601, that is, the first week of
    the year is that containing at least four days of the new year.
:param byweekday:
    If given, it must be either an integer (0 == MO), a sequence of
    integers, one of the weekday constants (MO, TU, etc), or a sequence
    of these constants. When given, these variables will define the
    weekdays where the recurrence will be applied. It's also possible to
    use an argument n for the weekday instances, which will mean the nth
    occurrence of this weekday in the period. For example, with MONTHLY,
    or with YEARLY and BYMONTH, using FR(+1) in byweekday will specify the
    first friday of the month where the recurrence happens. Notice that in
    the RFC documentation, this is specified as BYDAY, but was renamed to
    avoid the ambiguity of that keyword.
:param byhour:
    If given, it must be either an integer, or a sequence of integers,
    meaning the hours to apply the recurrence to.
:param byminute:
    If given, it must be either an integer, or a sequence of integers,
    meaning the minutes to apply the recurrence to.
:param bysecond:
    If given, it must be either an integer, or a sequence of integers,
    meaning the seconds to apply the recurrence to.
:param cache:
    If given, it must be a boolean value specifying to enable or disable
    caching of results. If you will use the same rrule instance multiple
    times, enabling caching will improve the performance considerably.
 c