Meal plan automation repository to streamline meal planning and shopping for the week :)
-
Create a Google Sheet with two sheets,
MealsandShopping -
Set up a Google Cloud service account with access to the Google Sheets API and create a new JSON key (Learn more about Service Accounts.)
- Replace the
\nin the key with\\nso Python's json library can parse it - Encode the santized key JSON in base64 so it can be easily stored in GitHub Secrets
- Replace the
-
Fork this repo
- Customize your meal plan using the
dinners.jsonfile - Customize your chefs and responsibilites in the
config.jsonfile- Empty responsibility days will be listed as Unplanned group days in the menu
- Customize your meal plan using the
-
Set repo actions Secrets
SERVICE_ACCOUNTis the Google service account JSON file encoded in base64SPREADSHEET_IDis the ID of your Google Sheet (the long string in the URL)
A GitHub Action is scheduled to run the plan_dinners.py script weekly at noon on Friday. This script will read the dinners.json file and randomly select meals for each day of the week.
Each meal category is represented non-consecutively throughout the week, meaning that the same meal category won't be used two days in a row.
After making selections, the script then updates the Meals sheet with the chosen meals and updates the Shopping sheet with the ingredients needed for those meals. The shopping list will also include a reminder to check if you are stocked on staples like eggs, bread, oil, etc.


