[Python-ideas] New imaplib implementation for Python 3.2+ standard library

Maxim Khitrov max at mxcrypt.com
Wed Jul 27 13:48:13 CEST 2011


On Tue, Jul 26, 2011 at 10:09 PM, Brett Cannon <brett at python.org> wrote:
>
>
> On Sun, Jul 24, 2011 at 18:06, Maxim Khitrov <max at mxcrypt.com> wrote:
>>
>> Hello python-ideas,
>>
>> My most recent project lead me down a path that eventually ended up at
>> a new implementation of imaplib based on [RFC-3501]. Although I
>> started the project by gradually adding functionality to the existing
>> IMAP4 library, some of the features that I required simply could not
>> be merged in (without breaking everything). As a result, I wrote my
>> own version of the library, which incorporates all existing
>> functionality of imaplib and includes many of my own improvements.
>>
>> I wrote a PEP-style readme file that describes all the details of why
>> the library was written and how it works, which is available from my
>> mercurial repository:
>>
>> http://hg.mxcrypt.com/python/imaplib2/raw-file/tip/README
>>
>> The same repository also contains the library code and an example
>> script that you can run if you have access to an IMAP4 server:
>>
>> http://hg.mxcrypt.com/python/imaplib2/
>>
>> Is there any interest in adding my code to a future version of Python
>> 3.x standard library?
>
> Since no one has pointed you to it, there is a doc explaining what it takes
> to get a new module added to the stdlib:
> http://docs.python.org/devguide/stdlibchanges.html#adding-a-new-module .

Thanks, I actually found and read that page before making my initial
announcement. For now, I'm making the module available under the
simplified BSD license to anyone who wishes to use it. If it has
gained some traction over the next year, I'll be happy to submit it to
PSF under Apache License 2.0. Is there anything else I should do in
the mean time? How do I go about moving the development into the
Python's infrastructure, or does that happen later?

Over the next week or so, I'll finish writing the higher-level
interface, which actually did end up inheriting from Mailbox, but with
some limitations that I'll explain later. After that, I'll put
together a test suite and update the documentation. The last remaining
bit will be to implement some additional extensions and authentication
methods. Don't have anything else planned beyond that.

- Max



More information about the Python-ideas mailing list