These are a couple of scripts that compute statistics ("stress" and "procrastination") from the data in the email inbox.
For example, here are my stats as they appear on my webpage:
<p class='graphics'> <img id='stats_count' src="http://www.cds.caltech.edu/~andrea/busyplot/count.png" alt='Count'/> <img id='stats_age' src="http://www.cds.caltech.edu/~andrea/busyplot/age.png" alt='Age'/> </p> <p class='caption' style='font-style: italic'> Fig. 2. Stress and procrastination levels in the last 7 days. Stress is measured by the number of flagged messages in the email inbox; procrastination is measured by the median age of those messages. <img id='updated' src="http://www.cds.caltech.edu/~andrea/busyplot/updated.gif" alt='Update'/> </p>
The first script
busymail_log downloads the headers of email messages in a given mailbox, and stores them as a YAML file in a given directory.
busymail_log --host imap.gmail.com --username <user> --password <pwd> \ --folder "[Gmail]/Starred" --storage logs/
The second script loads all the YAML files from the given directory, computes some statistics, and plots them to file.
busymail_plot --storage logs/ --output figures/
Note that if you only have a few datapoints, the plot will not be clearly visible with the default axis properties (showing 1 week of data).
If you create a cron job with these two commands (and perhaps a rsync to your website), you can create an automatically updating summary of your activity.
python setup.py develop
The prerequisites are:
Install them before attempting the above command, as most of the times setup.py is not smart enough to install them correctly.