[Python-checkins] r42534 - in sandbox/trunk/emailpkg: 2.5/NEWS 2.5/NEWS.txt 2.5/README 2.5/README.txt 3.1 4.0 4.0/email

barry.warsaw python-checkins at python.org
Tue Feb 21 04:05:02 CET 2006


Author: barry.warsaw
Date: Tue Feb 21 04:04:58 2006
New Revision: 42534

Added:
   sandbox/trunk/emailpkg/2.5/NEWS.txt
      - copied unchanged from r42261, sandbox/trunk/emailpkg/2.5/NEWS
   sandbox/trunk/emailpkg/2.5/README.txt
      - copied unchanged from r42261, sandbox/trunk/emailpkg/2.5/README
   sandbox/trunk/emailpkg/4.0/
      - copied from r42533, sandbox/trunk/emailpkg/3.1/
   sandbox/trunk/emailpkg/4.0/email/
      - copied from r42421, sandbox/trunk/emailpkg/3.1/email/
Removed:
   sandbox/trunk/emailpkg/2.5/NEWS
   sandbox/trunk/emailpkg/2.5/README
   sandbox/trunk/emailpkg/3.1/
Log:
The module name change warrants a bump in the version number to 4.0.


Deleted: /sandbox/trunk/emailpkg/2.5/NEWS
==============================================================================
--- /sandbox/trunk/emailpkg/2.5/NEWS	Tue Feb 21 04:04:58 2006
+++ (empty file)
@@ -1,594 +0,0 @@
-Copyright (C) 2001-2004 Python Software Foundation
-
-Here is a history of user visible changes to this software.
-
-2.5.5 (13-May-2004)
-2.5.4
-2.5.3
-2.5.2
-
-    Lots of bug fixes.
-
-2.5.1 (30-Mar-2003)
-
-    Bug fixes and improved compatibility for Python 2.2.0.
-
-2.5 (21-Mar-2003)
-
-    A few other minor bug fixes.
-
-2.5b1 (11-Mar-2003)
-
-    - Message.get_payload() now recognizes various uuencoded
-      Content-Transfer-Encodings (e.g. x-uuencode).
-
-      When passing decode=True to Message.get_payload() and a
-      low-level decoding error occurs, the payload is returned as-is
-      instead of raising an exception.
-
-    - Header.__init__() and Header.append() now accept an optional
-      argument `errors' which is passed through to the unicode() and
-      ustr.encode() calls.  You can use this to prevent conversion
-      errors by e.g. passing 'replace' or 'ignore'.
-
-      RFC 2822 specifies that long headers should be split at the
-      "highest level syntactic break" possible.  This can only really
-      be determined by the application, and the current API doesn't
-      support arbitrary break points.  As a compromise,
-      Header.encode() grew a `splitchars' argument which provides some
-      control over splitting at higher level syntactic breaks.
-
-      Header.decode_header() now transforms binascii.Errors into
-      email.Errors.HeaderParseErrors when bogus base64 data appears in
-      the header.
-
-      The header splitting and folding algorithms were completely
-      reimplemented, especially when dealing with ASCII headers.
-
-      We now preserve spaces between encoded and non-encode parts in
-      RFC 2047 headers when converting the header to Unicode.  While
-      the RFC is technically ambiguous on this point, this is the
-      behavior most people expect.
-
-    - email.Iterators.body_line_iterator() now takes an optional
-      decode argument, which is passed through to Message.get_payload().
-
-    - The MIMEText constructor used to append a newline to the _text
-      argument if it didn't already end in a newline.  Now it doesn't.
-      This could theoretically break code so it should be considered
-      experimental for 2.5 beta 1.  But it's the right fix, so we'll
-      keep it unless there are howls of derision.
-
-    - The quopriMIME.header_encode() maxlinelen argument now accepts
-      None, which inhibits line breaking.
-
-    - Support for Korean charsets was added to Charset.py.  Also the
-      Charset class grew a __repr__() method.
-
-    - Various and sundry bug fixes, improved RFC conformance, and
-      improved lax parsing.
-
-2.4.3 (14-Oct-2002)
-2.4.2 (10-Oct-2002)
-2.4.1 (07-Oct-2002)
-
-    Last minute patches for the Python 2.2.2 backport.  This includes
-    case insensitivity of character set names, patches for Windows,
-    and some fixes for non-splitting of unspecified 8bit header data.
-
-2.4 (01-Oct-2002)
-
-    - Updated all the documentation.
-
-    - Clarification to the semantics of Header.__init__() and
-      Header.append() when it gets byte strings and Unicode strings as
-      its first argument.  When a byte string is used, the charset
-      must be the encoding of the string, such that unicode(s,charset)
-      succeeds.  When a Unicode string is used, the charset is a hint,
-      and the first of the following to succeed is used: us-ascii, the
-      charset hint, utf-8.
-
-    - A new header encoding flag has been added to the Charset
-      module.  SHORTEST (which cannot be used for body encodings)
-      returns the string either quoted-printable or base64 encoding,
-      whichever is shortest in terms of characters.  This is a good
-      heuristic for providing the most human readable value possible.
-      The utf-8 charset uses SHORTEST encoding by default now.
-
-    - Message.get_content_charset() is a new method that returns the
-      charset parameter on the Content-Type header, unquoted and RFC
-      2231 decoded if necessary.
-
-    - "import email" no longer imports some sub-modules by side-effect.
-
-    - Fixed some problems related to RFC 2231 encoding of boundary and
-      charset parameters on Content-Type headers.  Document that
-      get_param() and get_params() may return values that are strings
-      or 3-tuples.
-
-    - The signature of the non-public function _structure() has
-      changed.
-
-2.3.1 (13-Sep-2002)
-
-    - Minor update to the distutils package.  A file was missing in
-      the email-2.3.tar.gz file.
-
-2.3 (10-Sep-2002)
-
-    - Added support for RFC 2231 encoding.  Patch by Oleg Broytmann
-      (previous patch was for RFC 2231 decoding only).
-
-    - New method Message.replace_header() which replaces the first
-      occurrence of a header with a new value, preserving header order
-      and header name case.  Patch by Skip Montanaro.
-
-    - RFC 2045, section 5.2 states that if the Content-Type: header is
-      invalid, it defaults to text/plain.  Implement simple checks for
-      this in get_content_type(), get_content_maintype(), and
-      get_content_subtype().  These will no longer raise ValueErrors.
-
-    - In non-strict parsing, if no start boundary can be found for a
-      multipart message, the entire body of the message is set as the
-      payload.  Strict parsing such a message will still raise a
-      BoundaryError.
-
-2.2 (23-Jul-2002)
-
-    - Better support for default content types has been added.
-      Specifically:
-
-      o The following methods have been silently deprecated.  At some
-        future release they may be unsilently deprecated:
-        Message.get_type(), Message.get_main_type(),
-        Message.get_subtype().
-
-      o The following methods have been added as a consistent way of
-        getting a message's content type: Message.get_content_type(),
-        Message.get_content_maintype(), Message.get_content_subtype().
-
-        Note that none of these methods take a `failobj' argument
-        because messages always have a default content type.  Usually
-        this type is text/plain, but for messages inside a
-        multipart/digest container, it's message/rfc822.
-
-        Also note that .get_content_maintype() and
-        .get_content_subtype() can raise ValueError exceptions if the
-        default content type doesn't include exactly one slash.
-
-    - The Parser constructor's `strict' flag is exposed to
-      email.message_from_file() and email.message_from_string().
-      Also, non-strict parsing is now the default, since that seems to
-      be the most useful behavior.
-
-    - email.Header.Header.append() now allows the charset argument to
-      be a string, naming a character set.  It will convert these to a
-      Charset instance automatically.
-
-    - The test procedure has changed.  See the README for details.
-      Also, a new torture test has been added.
-
-    - The non-public function email.Iterators._structure() can now
-      take an output file object (which must be suitable for print>>).
-
-2.1 (09-Jul-2002)
-
-    - Support for RFC 2231 by Oleg Broytmann was added.
-
-    - Fixed some representational, parsing, and generation bugs with
-      multipart/digest and message/rfc822 messages.  Now we guarantee
-      that the structure of such messages is something like:
-
-          multipart/digest
-              message/rfc822
-                  text/plain (or whatever the subpart's type is)
-              message/rfc822
-                  text/plain (ditto)
-
-      The encapsulating message/rfc822 object is a multipart of
-      exactly length 1.
-
-      To preserve idempotency, the concept of a "default type" is
-      added to Message objects.  For most messages the default type is
-      text/plain, except for messages at the first level inside a
-      multipart/digest which are message/rfc822.  This default type is
-      not described in the Content-Type: header of the container.
-
-      Message objects thus have new methods get_default_type() and
-      set_default_type(), the latter of which takes a string argument
-      that must be either 'text/plain' or 'message/rfc822'.
-
-      (Some changes were also made to the non-public interface for the
-      Generator class.)
-
-    - The Header class now knows how to split long non-RFC 2047
-      encoded headers (i.e. us-ascii charset) in the RFC 2822
-      recommended way.  Splits are attempted at the "highest-level
-      syntactic breaks" which we define as on parameter semicolons,
-      followed by folding whitespace.  No errors are raised if long
-      headers still exceed the maximum RFC 2822 header length of 998
-      characters after splitting.
-
-    - Other Header class API changes:
-        o All __init__() arguments have default values now.  Also, a
-          new argument continuation_ws has been added (defaults to a
-          single ASCII space).
-        o Rich comparison __eq__ and __ne__ operators are defined
-        o __unicode__() for Python 2.2 by Mikhail Zabaluev
-        o guess_maxlinelen() method has been removed
-        o encode_chunks() is no longer public
-
-    - The email.Header module has grown a function make_header() which
-      takes the output of decode_header() and returns a Header
-      instance.
-
-    - A non-public function email.Iterators._structure() has been
-      added for debugging purposes.
-
-    - MIMEMultipart.__init__() doesn't attach the subparts of the
-      tuple is empty (i.e. there are no subparts).  Fixed a bug
-      related to passing in explicit boundary.
-
-    - Anthony Baxter's patches for non-strict parsing have been added
-      to the Parser class.  There are currently no test cases for
-      non-strict parsing yet.  Other Parser class API changes:
-        o Parser.__init__() grew a strict argument, defaulting to
-          true for backwards compatibility.
-        o parse() and parsestr() both grew a headersonly argument
-          which tells them to stop parsing once the header block is
-          parsed.  The file pointer is left at the start of the body.
-
-    - For RFC 2231 support, added the following functions to the
-      email.Utils module: decode_rfc2231(), encode_rfc2231(),
-      decode_params().
-
-2.0.5 (02-Jun-2002)
-
-    - Two new class/modules MIMEMultipart and MIMENonMultipart have
-      been added.  The former is useful as a concrete class for
-      creating multipart/* parts.  The latter is mostly useful as a
-      base class for other MIME non-multipart subparts.  For example,
-      the MIMEAudio, MIMEImage, and MIMEText clases now derive from
-      MIMENonMultipart.  Note also that MIMENonMultipart.attach()
-      raises a MultipartConversionError.
-
-    - The message structure for message/rfc822 subparts has been
-      changed to be more consistent.  Now message/rfc822 payloads are
-      defined as a list containing exactly one element, the
-      sub-Message object.
-
-    - The callable interface to the Generator class is now silently
-      deprecated in favor of the Generator.flatten() method.
-      __call__() can be 2-3 times slower than the equivalent normal
-      method.
-
-2.0.4 (21-May-2002)
-
-    - Fixed a bug in email.Utils.getaddresses().
-
-2.0.3 (19-May-2002)
-
-    - Fixed some limitations that caused the Parser to not work with
-      CRLF style line-endings.  The parser should now be able to parse
-      any email message with consistent line endings of \r, \n, \r\n.
-
-    - Fixed a bug related to the semantics of the Header class
-      constructor.  If neither maxlinelen or header_name is given, the
-      maximum line length is 76 by default.  If maxlinelen is given,
-      it is always honored.  If maxlinelen is not given, but
-      header_name is given, then a suitable default line length is
-      calculated.
-
-    - Implemented a simpler testing framework.  Now you just need to
-      run "python test.py" in the source directory.
-
-    - Merged with the standard Python cvs tree, with compatibility
-      modules for working in Python 2.1 and Python 2.2.
-
-2.0.2 (26-Apr-2002)
-
-    - Fix a Python 2.1.3 incompatibility in Iterators.py,
-      body_line_iterator().
-
-2.0.1 (10-Apr-2002)
-
-    - Minor bug fixes in the test suite.
-
-    - One minor API change: in Header.append(), the charset is
-      optional, and used to default to the empty Charset().  It now
-      defaults to the charset given in the Header constructor.
-
-2.0 (08-Apr-2002)
-
-    - Message.add_payload() is now deprecated.  Instead use
-      Message.attach() and Message.set_payload().  The former always
-      ensures that the message's payload is a list object, while the
-      latter is used only for scalar payloads (i.e. a string or a
-      single Message object in the case of message/rfc822 types).
-
-    - email.Utils.formataddr(): New function which is the inverse of
-      .parseaddr(); i.e. it glues a realname and an email address
-      together.  This replaces email.Utils.dump_address_pair() which
-      is deprecated.
-
-    - class Charset now has a __str__() method, and implements rich
-      comparison operators for comparison to lower case charset
-      names.
-
-    - encode_7or8bit(): If there is no payload, set the
-      Content-Transfer-Encoding: value to 7bit.
-
-    - Fixes for bugs in generating multipart messages that had exactly
-      zero or one subparts.
-
-1.2 (18-Mar-2002)
-
-    - In the MIMEText class's constructor, the _encoder argument is
-      deprecated.  You will get a DeprecationWarning if you try to use
-      it.  This is because there is a fundamental conflict between
-      _encoder and the fact that _charset is passed to the underlying
-      set_payload() method.  _encoder really makes no sense any more.
-
-    - When Message.set_type() is used to set the Content-Type: header,
-      the MIME-Version: header is always set (overriding any existing
-      MIME-Version: header).
-
-    - More liberal acceptance of parameter formatting, e.g. this is
-      now accepted: Content-Type: multipart/mixed; boundary = "FOO"
-      I.e. spaces around the = sign.
-
-    - Bug fix in Generator related to splitting long lines in a
-      multiline header.
-
-    - In class Charset, __str__() method added, as were __eq__() and
-      __ne__().
-
-    - Charset.get_body_encoding() may now return a function as well as
-      a string character set name.  The function takes a single
-      argument, which is a Message instance, and may change the
-      Content-Transfer-Encoding: header (or do any other manipulations
-      on the message).
-
-    - Charset.from_splittable() added argument to_output which is used
-      to specify whether the input_codec or the output_codec is used
-      for the conversion (by default, the output codec is used).
-
-1.1 (unreleased)
-
-    - No changes since 0.97.  Only the version number has changed.
-
-0.97 (unreleased)
-
-    - Message.set_charset() can now take a string naming a character
-      set in addition to a Charset instance.  In the former case, a
-      Charset is instantiated by passing the string to its
-      constructor.
-
-    - The MIMEText constructor now passes the _charset argument to the
-      underlying set_charset() method.  This makes things consistent
-      at the cost of a minor semantic change: the resulting instance
-      will have a Content-Transfer-Encoding: header where previously
-      it did not.
-
-    - A fix for a crash when quopriMIME.encode() tried to encode a
-      multiline string containing a blank line.
-
-    - New module Header.py which provides a higher level interface for
-      encoded email headers, such as Subject:, From:, and To:.  This
-      module provides an abstraction for composing such headers out of
-      charset encoded parts, and for decoding such headers.  It
-      properly splits lines on character boundaries even for multibyte
-      character sets.
-
-    - New RFC compliant base64 and quoted-printable modules, called
-      base64MIME.py and quopriMIME.py.  These are intended to replace
-      the Python standard base64.py and quopri.py modules, but are
-      geared toward their use conformant to the various MIME email
-      standards.
-
-    - The Message class is much more character set aware and RFC
-      compliant:
-
-        + set_payload() now takes a new optional charset argument
-        + New methods set_charset(), get_charset(), set_param(),
-          del_param(), set_type()
-        + Header parameter quoting is more RFC compliant
-        + get_param() and get_params() now take a new optional unquote
-          argument
-
-    - The Charset module now knows about utf-8, gb2132, and big5
-      codecs, the latter two of which are available independently of
-      Python (see the comments in this module for downloading Chinese,
-      Japanese, and Korean codecs).
-
-      New Charset methods get_body_encoding(), get_output_charset(),
-      encoded_header_len(), header_encode(), and body_encode().
-
-    - The Generator now handles encoding the body, if the message
-      object has a character set.
-
-    - The Utils module has new functions fix_eols() and make_msgid().
-      It also includes a workaround for bugs in parseaddr() when used
-      with Python versions before 2.2.
-
-    - A fix for a Parser bug when parsing multipart/* parts that
-      contain only a single subpart.
-
-0.96 (19-Nov-2001)
-
-    - A fix for email.Utils.formatdate() for "uneven" timezones like
-      Australia/Adelaide and America/St_Johns.
-
-0.95 (09-Nov-2001)
-
-    - A new implementation of email.Utils.formatdate() which makes it
-      more RFC 2822 compliant.
-
-0.94 (25-Oct-2001)
-
-    - A fix for SF bug #472560, extra newlines returned by get_param()
-      when the separating semi-colon shows up on a continuation line
-      (legal, but weird).
-
-0.93 (17-Oct-2001)
-
-    - Fix for SF bug #471918, generator splitting long headers
-      produces dupliaction.  Bug report and fix contributed by Matthew
-      Cowles.
-
-    - If a line could not be split on semicolons in order to produce
-      shorter lines, an attempt is made to split the header on folding
-      white space.  One deficiency still: it won't try to split on
-      both semis and folding whitespace.  Oh well.
-
-0.92 (14-Oct-2001)
-
-    - Iterators.typed_subpart_iterator() should use a 'text/plain'
-      failobj in its get_main_type() call.
-
-    - Added class Parser.HeaderParser which just parses headers and
-      leaves the message as a string payload; it does not recursively
-      parse the body.
-
-0.91 (09-Oct-2001)
-
-    - Added the MIMEAudio class/module for audio/* MIME types.
-      Contributed by Anthony Baxter.
-
-    - Fixed a bug in Message.get_all() where failobj was never
-      returned if no matching fields were found.
-
-0.90 (01-Oct-2001)
-
-    - mimelib has been integrated with Python 2.2.  A compatibility
-      package called email 0.90 is being made available here.  It is
-      significantly different in API from the mimelib package.  See
-      the README for details.  mimelib as a separate package is no
-      longer being supported.
-
-0.6 (17-Sep-2001)
-
-    - Last minute bug fixes.
-
-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 address.py 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
-          tree.
-        + __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
-          0.
-        + There is a new, undocumented semi-private interface for
-          extending the MIME types Generator can handle.  UTSL.
-
-    - New Encoders.py 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__().
-
-    - StringableMixin.py 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.
-
-0.4 (09-Jul-2001)
-
-    - New module/class called RFC822 which represents message/rfc822
-      MIME types.  This takes a single Message instance.
-
-    - Message.getmaintype() and Message.getsubtype() will now return
-      failobj when the Content-Type: header doesn't have enough
-      information.
-
-0.3 (20-Apr-2001)
-
-    - In the Image class, the _encoding argument has been changed to
-      _encoder.  Also ImageTypeError is removed; if Image.__init__()
-      can't guess the image's minor type, a TypeError is raised
-      instead.
-
-    - Message.getparam() and Message.getparams() have grown a new
-      optional argument `header'.
-
-    - MsgReader class has grown a new method readlines() for
-      compatibility with Python 2.1's xreadline module.
-
-    - The ReprMixin module and class have been renamed to
-      StringableMixin
-
-    - New exception MultipartConversionError can be raised by
-      Message.add_payload()
-
-    - Bug fixes
-
-    - mimelib has been moved to SourceForge.  See
-      http://mimelib.sourceforge.net
-
-0.2 (14-Feb-2001)
-
-    - Generator constructor has a new optional argument `mangle_from_'
-      which is a flag.  If true, the generated flat text has From_
-      lines mangled in the body of messages by prepending a `>' in
-      front of the line.  This assures that such lines are not
-      mistaken for Unix mailbox separators.
-
-    - Added a new class ReprMixin for adding convenience methods
-      get_text() and __str__() to Message subclasses.
-
-    - RFC 1341 (MIME) calls the blob between the closing boundary and
-      the end of the message, the `epilogue'.  Change `postamble' to
-      `epilogue' in Message and Generator classes.
-
-    - Much better conformance to RFC 1341 in the Generator.
-
-    - Added __all__ support for "from mimelib import *"
-
-    - Added LICENSE file, currently BSD-ish.  The copyright will
-      eventually be transferred to the Python Software Foundation when
-      it is activated.
-
-    - Bug fixes.
-
-0.1 (24-Jan-2001)
-
-    Initial beta release.
-
-
-
-Local Variables:
-mode: indented-text
-indent-tabs-mode: nil
-End:

Deleted: /sandbox/trunk/emailpkg/2.5/README
==============================================================================
--- /sandbox/trunk/emailpkg/2.5/README	Tue Feb 21 04:04:58 2006
+++ (empty file)
@@ -1,95 +0,0 @@
-email -- a mail and MIME handling package
-Copyright (C) 2001-2004 Python Software Foundation
-
-
-Introduction
-
-    The email package is a library for managing email messages, including MIME
-    and other RFC 2822-based message documents.  It is intended to replace
-    most of the functionality in several older standard modules such as
-    rfc822, mimetools, multifile, mimify, and MIMEWriter, and other
-    non-standard packages such as mimecntl.  It is compliant with most of the
-    email related RFCs such as 2045-2047 (the MIME RFCs) and 2231.
-
-    This version is identical to the package available in Python 2.4.  It is
-    being made available as a standalone distutils package for use in older
-    Python releases.  A minimum of Python 2.3 is required.  Because the email
-    package is part of Python, it is covered by the PSF license for Python, as
-    described in the LICENSE.txt file.
-
-
-Testing
-
-    To test the email package, run the standard unit test suite from the
-    directory that you unpacked the source in (i.e. the directory containing
-    the setup.py file and this README file):
-
-    % python testall.py
-
-    You should see a couple of lines of dots followed by the number of tests
-    ran and the time the tests took.  The test should end with an "OK".  If
-    so, you're good to go.  Note that the exact number of tests depends on
-    such things as whether you have the Japanese codecs installed or not.
-
-
-Documentation and Examples
-
-    The documentation can be found in the docs directory:
-
-    docs/index.html
-
-    If you're looking for examples, you might want to check out some
-    of the tests.  There are a few examples in the documentation as
-    well.
-
-
-Installing
-
-    To install simply execute the following at your shell prompt:
-
-    % python setup.py install
-
-    If you're using Python 2.4, you've already got the latest version.
-
-
-Acknowledgements
-
-    A big thanks goes to Ben Gertzfield who implemented the bulk of the
-    multibyte support in version 1.1, as well as the RFC compliant base64 and
-    quoted-printable modules.
-
-    Many thanks to these other fine folks for providing code contributions or
-    examples, suggestions, bug reports, feedback, encouragement, etc.
-
-    Anthony Baxter
-    Martin Bless
-    Oleg Broytmann
-    Matthew Dixon Cowles
-    Jeff Dairiki
-    Quinn Dunkan
-    David Given
-    Phil Hunt
-    Sheila King
-    Martin Koch
-    Jason Mastaler
-    Andrew McNamara
-    Skip Montanaro
-    Guido van Rossum
-    Thomas Wouters
-
-    Apologies to anybody I've left out (let me know!).
-
-
-Contact Information
-
-    The email-sig is the mailing list and community of users and developers of
-    the package and related Python email technologies.  For more information:
-
-    http://www.python.org/sigs/email-sig
-
-
-
-Local Variables:
-mode: indented-text
-indent-tabs-mode: nil
-End:


More information about the Python-checkins mailing list