PEP 360 - Externally Maintained Packages

PEP: 360
Title: Externally Maintained Packages
Version: 24e56f5e9cfd
Last-Modified: 2012-02-10 23:02:15 +1000 (Fri, 10 Feb 2012)
Author: Brett Cannon <brett at>
Status: Final
Type: Process
Created: 30-May-2006


No new modules are to be added to this PEP. It has been deemed dangerous to codify external maintenance of any code checked into Python's code repository. Code contributors should expect Python's development methodology to be used for any and all code checked into Python's code repository.


There are many great pieces of Python software developed outside of the Python standard library (a.k.a., the "stdlib"). Sometimes it makes sense to incorporate these externally maintained packages into the stdlib in order to fill a gap in the tools provided by Python.

But by having the packages maintained externally it means Python's developers do not have direct control over the packages' evolution and maintenance. Some package developers prefer to have bug reports and patches go through them first instead of being directly applied to Python's repository.

This PEP is meant to record details of packages in the stdlib that are maintained outside of Python's repository. Specifically, it is meant to keep track of any specific maintenance needs for each package. It should be mentioned that changes needed in order to fix bugs and keep the code running on all of Python's supported platforms will be done directly in Python's repository without worrying about going through the contact developer. This is so that Python itself is not held up by a single bug and allows the whole process to scale as needed.

It also is meant to allow people to know which version of a package is released with which version of Python.

Externally Maintained Packages

The section title is the name of the package as it is known outside of the Python standard library. The "standard library name" is what the package is named within Python. The "contact person" is the Python developer in charge of maintaining the package. The "synchronisation history" lists what external version of the package was included in each version of Python (if different from the previous Python release).


Web site:
Standard library name:
Contact person: Fredrik Lundh

Fredrik has ceded ElementTree maintenance to the core Python development team [1] .

Expat XML parser

Web site:
Standard library name:
N/A (this refers to the parser itself, and not the Python bindings)
Contact person: None


Web site:
Standard library name:
Contact person: Greg Ward

External development seems to have ceased. For new applications, optparse itself has been largely superseded by argparse.


Web site: None
Standard library name:
Contact Person: Phillip J. Eby

This module is maintained in the standard library, but significant bug reports and patches should pass through the Web-SIG mailing list [2] for discussion.


Notice: While Javascript is not essential for this website, your interaction with the content will be limited. Please turn Javascript on for the full experience.