A command line script for periodic reminders of events via email.

Periodic reminder for created events via email.


You could create a new event (with markdown support for description) and set a reminder on a particular date or periodic reminder (like every 2 months, every year...). Evem will send emails on those dates with that information.

When it could be useful:

  • It could be used to periodically check in, on your progress on something you want to learn
  • It could help motivate you and really track your progress
  • For reminders for certain events on particular date or periodically(like someone's birthday)

A list of commonly used resources that I find helpful are listed in the acknowledgements.

Getting Started

To set up the project follow these steps.


  1. Set environment variables:

    • EMAIL (of Gmail account)
  2. This gmail account email and password are used for sending email.

  3. Clone the repo

    git clone https://github.com/yashrathi-git/evem
  4. Navigate into the project directory

  5. Install package

    pip install --editable .
  6. Now evem will be accessible from anywhere, in file system.

  7. Run this command to initialize it:

    evem init
  8. For sending emails on particular date, it have to be run on startup. I think everyone starts their computer or laptop atleast once everyday. So when it starts Evem will check for if it needs to send any mail(reminders) and if yes send it in background and terminate.

  9. Add the following command to run on startup:

    evem remind


Create new event

  1. First run
    evem event new
    For remind-on it excepts input in certian syntax:
    period = (year,month,day), repeat = (*|int)
    period = (0,1,0), repeat = 10      # means to remind every month for 10 times
    period = (0,0,14), repeat = *      # means to remind every 14 days (forever)
    period = (1,0,0), repeat = 1       # means remind after 1 year (1 time only)
  2. Now it will create a description.md file in markdown folder. It will print the file path. Add description to this file(supports markdown, syntax highlighting, table etc.) and save it.
  3. Now run to add the new event:
    evem event new --commit

Send reminder

This will check if any reminders needs to be sent today and send it via email if needed.

evem remind

Other commands

evem event list      #List all events with ID for event
evem event list --oneline

evem request <id>    # Send mail for particular ID.
evem delete <id>     # Delete event based on provided ID