ANNOUNCE mimelib 0.5

Barry A. Warsaw barry at
Mon Sep 17 07:28:33 CEST 2001

I've just released mimelib 0.5, a package for handling email messages,
including MIME documents.  This version contains lots of new features,
bug fixes, and unit tests.  See below for a NEWS file excerpt.

This will likely be the last independent release of mimelib.  I intend
to merge it into the Python standard library for Python 2.2 alpha 4.
There will be changes due to the merge, including a new name for the
package (`email' It Shall Be Called), and some shuffling of modules
and method names.

The current Mailman 2.1 alpha and CVS snapshot has not been tested
with this release, and there are likely some breakages.  The next
Mailman alpha release /will/ be made compatible, and if any bugs crop
up at that point, there may have to be an 0.6 release.  I hope not

The mimelib projects page at SourceForge (includes links for

The online manual:


-------------------- snip snip --------------------
0.5 (17-Sep-2001)

    - New methods in the top-level mimelib package namespace:
        + messageFromString() to create an object tree from a string.
        + messageFromFile() to create an object tree from an open file.

    - New methods in the module:
        + encode() for encoding to RFC 2047 headers
        + decode() for decoding from RFC 2047 headers

    - New methods in the Message class:
        + asString() to get a flat text representation of the object
        + __str__() same as asString() but includes the Unix-From
          envelope header in the output.
        + __contains__() for use with the `in' operator.
        + attach() is a synonym for add_payload()
        + getcharsets()
        + getfilename()
        + getboundary()
        + setboundary()
        + getdecodedpayload()
        + getpayloadastext()
        + getbodyastext()

    - Message.preamble and Message.epilogue default to None (they used
      to not exist by default).

    - Changes to the Generator class:
        + New optional argument `maxheaderlen' for __init__() controls
          the maximum length in characters of any header line.
        + write() isn't the entry point for doing the text generation
          any more.  This lets us make this method compatible with
          file-like objects.  Use __call__() semantics instead.
        + Calling a Generator instance creates the plain text
          message.  This is the same as the old write() interface
          except that the optional `unixfrom' argument now defaults to
        + There is a new, undocumented semi-private interface for
          extending the MIME types Generator can handle.  UTSL.

    - New module contains some useful encoders for Image
      and Text instances.

    - Text.__init__() has a new _encoder optional argument, which has
      the same semantics as _encoder for Image.__init__().

    - module has been removed, and its
      functionality merged back into the Message class.

    - MessageParseError doesn't contain line numbers any more.

    - Lots of bug fixes; lots more unit tests.

More information about the Python-list mailing list