> Thoughts or examples? > dateutil.rrule is what you may use e.g.
In [38]: from dateutil import rrule In [39]: from datetime import date In [40]: end = date(2017, 12, 31) In [41]: rr = rrule.rrule(rrule.WEEKLY, byweekday=[0, 2], until=end) In [42]: days = list(rr) In [43]: len(days) Out[43]: 53 In [44]: days[:5], days[-5:] Out[44]: ([datetime.datetime(2017, 6, 28, 23, 58, 11), datetime.datetime(2017, 7, 3, 23, 58, 11), datetime.datetime(2017, 7, 5, 23, 58, 11), datetime.datetime(2017, 7, 10, 23, 58, 11), datetime.datetime(2017, 7, 12, 23, 58, 11)], [datetime.datetime(2017, 12, 13, 23, 58, 11), datetime.datetime(2017, 12, 18, 23, 58, 11), datetime.datetime(2017, 12, 20, 23, 58, 11), datetime.datetime(2017, 12, 25, 23, 58, 11), datetime.datetime(2017, 12, 27, 23, 58, 11)]) In [45]: -- https://mail.python.org/mailman/listinfo/python-list