In a calendar like the one below and with the given eight pieces, the task is to use all of the pieces so the remaining cells show the date. This is not my idea, and in fact you can buy a real calendar puzzle in dragonfjord.com. There are multiple solutions for each day of the year (rotating and flipping pieces is allowed). This code does this by brute force, checking all possible different positions. There are 96 different ways in which you can place piece A, 98 for B, 82 for C, 154 for D, 151 for E, 80 for F, 196 for G and 154 for H (pieces with simmetries have less possible locations).
One example for December 19th
The code also includes a Twitter bot which (I hope) will tweet one of the solutions for each day at 7am UTC, mostly following this tutorial from Miguel Garcia using Tweepy
Link to the Twitter account of the @CalendarPuzzle. The intention is to run a scheduled task using the free tier of pythonanywhere