Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install phil

How to install phil

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install phil
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.1
1.3Never BuiltWhy not?
1.1 Available View build log
1.0.1 Available View build log
1.0 Failed View build log
Windows (64-bit)
1.1
1.3Never BuiltWhy not?
1.1 Available View build log
1.0.1 Available View build log
1.0 Failed View build log
Mac OS X (10.5+)
1.1
1.3Never BuiltWhy not?
1.1 Available View build log
1.0.1 Available View build log
1.0 Failed View build log
Linux (32-bit)
1.1
1.3Never BuiltWhy not?
1.1 Available View build log
1.0.1 Available View build log
1.0 Failed View build log
Linux (64-bit)
1.3 Available View build log
1.1 Available View build log
1.0.1 Available View build log
1.0 Failed View build log
 
License
GPL
Imports
Lastest release
version 1.3 on Jan 9th, 2014

Status - February 9th, 2013

This project is not under active development. If you have changes, please submit a pull request (preferably with tests) and I'll merge it in.

Summary

phil is a command line 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.

Features

  • 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
  • show the next 6 dates for an event with the next6 command

History

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.

License, etc

phil Copyright(C) 2011, 2012, 2013 Will Kahn-Greene

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the Terms and Conditions section of LICENSE for details.

Install

If you want a released version of phil, do this:

$ pip install phil

If you want a bleeding edge version of phil, do this:

$ git clone git://github.com/willkg/phil.git
$ cd phil
$ python setup.py install

Configure

phil requires a configuration file. To generate a sample configuration file run phil this way:

phil-cmd createfile <configfile>

The config file is self-documenting. Go through it to configure phil.

Note

If you want to keep a pristine example config file with the documentation, run phil-cmd createfile config_pristine.ini.

Run

For list of subcommands, arguments and other help, do this:

phil-cmd --help

To email reminders for meetings, do this:

phil-cmd run <configfile>

This runs phil with the given config file.

phil has a quiet mode which only prints errors:

phil-cmd --quiet ...

phil has a debug mode which does everything except actually send email:

phil-cmd --debug ...

phil keeps track of the last meeting date/time that it reminded you about. If you run phil twice, it'll only remind you about a meeting once.

Test

phil comes with unit tests. Unit tests are executed using nose and use fudge as a mocking framework. If you don't already have nose and fudge installed, then install them with:

pip install nose fudge

I like to use nose-progressive, too, because it's awesome. To install that:

pip install nose-progressive

To run the unit tests from a git clone or the source tarball, do this from the project directory:

nosetests

With nose-progressive and fail-fast:

nosetests -x --with-progressive

Subscribe to package updates

Last updated Jan 9th, 2014

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.