Why GCSA? ========= .. image:: _static/push_ups.webp :width: 200 :alt: 50 push-ups in one month :align: right I found that picture "The 50 push-ups in a month challenge" back in 2017 and decided it was time to try it. I wanted a calendar reminder of how many push-ups I need to do every day. As a developer, I couldn't afford to spend *10 minutes* putting the events manually. So I spent *3 hours* getting the official API to work to do this for me. Then I thought that this simple task shouldn't take *3 hours* and have spent the next *couple of days* implementing the initial version of the gcsa. Several years later, I'm happy that people find this project useful. If you'd like to try this yourself, here's the code you need: .. code-block:: python from gcsa.google_calendar import GoogleCalendar from gcsa.event import Event from beautiful_date import D, drange, days, MO gc = GoogleCalendar() PUSH_UPS_COUNT = [ 5, 5, 0, 5, 10, 0, 10, 0, 12, 12, 0, 15, 15, 0, 20, 24, 0, 25, 30, 0, 32, 35, 35, 0, 38, 40, 0, 42, 45, 50 ] # starting next Monday (of course) # +1 days for the case that today is Monday start = D.today()[9:00] + 1 * days + MO end = start + len(PUSH_UPS_COUNT) * days for day, push_ups in zip(drange(start, end), PUSH_UPS_COUNT): e = Event( f'{push_ups} Push-Ups' if push_ups else 'Rest', start=day, minutes_before_popup_reminder=5 ) gc.add_event(e) Needless to say, I can't do 50 push-ups. Let me know in Discord_ if you've tried it. .. _Discord: https://discord.gg/mRAegbwYKS