phil is a command-line Python utility that sends reminder emails about meetings as defined in an iCalendar file.
It solves this use case:
- Will works on a project that has meetings every saturday. Will wants an automated way to send a reminder email to everyone about the meeting with the details of when the meeting is, how to attend, and where the notes for the meeting will be.
- Will installs and configures phil to send emails to the project list before the saturday meetings. Will sets up a cron job to kick phil off every morning to check for reminders it needs to send and send them.
I work on a bunch of projects some of which have regular meetings. One day I realized that it would help a lot if I had some automated way to send out meeting reminders to everyone with some text that specified when the meeting was, how to attend the meeting, and where to look for details on what the meeting will cover.
I work on a bunch of projects and have a hell of a time coming up with good names for them all. I don't really remember the names of libraries and things I use, so I figure arbitrary names are fine so long as there is sufficient documentation that allows search engines to find the project given search criteria. Given that, I decided to name all my projects going forward with names like phil.
Thus phil was born.
Here are some key features of "phil":
- has a configuration file in config.ini format
- parses iCalendar files, calculates the next valid meeting date, and sends reminder email x days before the meeting
- tries not to remind you about the same meeting twice!
- has a --debug mode allowing you to test things without actually sending email
- has a --quiet mode that will only print errors
- correctly prints errors to stderr and output to stdout; also returns error code 1 if it failed