August is Email Development MonthΒΆ

My most recent software development contract ended last month, after a two year run, because the upper levels of the company decreed that fewer contractors should be used, and I declined to be hired. Until I find a new contract (or one finds me), I’m planning to self-fund some Python development work. (If you want to support this work and encourage me to put off taking another contract, please consider tipping me at gittip:

If you want to offer me work instead, email me at

Specifically, I’m planning to devote the month of August to working on the Email package. The Python team is about to release Alpha 1 of Python 3.4. Between that release and the release of Alpha 2 at the end of August, I want to more-or-less complete the API changes planned as part of the Email6 project. This involves providing smarter ways of access and creating MIME message parts.

The first step is to clarify the new API. We tossed around a lot of ideas back when this project started, but the basic thrust is that what we want is a straightforward way to get the original object that is stored in a received message part, and a straightforward way to put an object into a message part when composing a message, while still having the option of getting at the “raw data” if it is needed. (I put “raw data” in quotes because in email there can be two different meanings for that term...and we want to be able to get at both. More on that later.)

I took a long walk and thought about the possibilities, and came to some tentative conclusions. I’m going to do a brain dump to this blog, and then we’ll see what others think.