2007-01-01 19:02:41 -05:00
|
|
|
|
PEP: 3108
|
|
|
|
|
Title: Standard Library Reorganization
|
|
|
|
|
Version: $Revision$
|
|
|
|
|
Last-Modified: $Date$
|
2007-01-02 01:04:25 -05:00
|
|
|
|
Author: Brett Cannon <brett@python.org>
|
2008-05-05 18:32:12 -04:00
|
|
|
|
Status: Accepted
|
2007-03-04 14:57:43 -05:00
|
|
|
|
Type: Standards Track
|
2007-01-01 19:02:41 -05:00
|
|
|
|
Content-Type: text/x-rst
|
|
|
|
|
Created: 01-Jan-2007
|
2007-06-19 00:20:07 -04:00
|
|
|
|
Python-Version: 3.0
|
2008-05-03 19:47:20 -04:00
|
|
|
|
Post-History: 28-Apr-2008
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Abstract
|
|
|
|
|
========
|
|
|
|
|
|
|
|
|
|
Just like the language itself, Python's standard library (stdlib) has
|
|
|
|
|
grown over the years to be very rich. But over time some modules
|
|
|
|
|
have lost their need to be included with Python. There has also been
|
|
|
|
|
an introduction of a naming convention for modules since Python's
|
|
|
|
|
inception that not all modules follow.
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
Python 3.0 has presents a chance to remove modules that do not have
|
2007-01-02 01:53:47 -05:00
|
|
|
|
long term usefulness. This chance also allows for the renaming of
|
|
|
|
|
modules so that they follow the Python style guide [#pep-0008]_. This
|
2008-04-29 17:45:05 -04:00
|
|
|
|
PEP lists modules that should not be included in Python 3.0 or which
|
|
|
|
|
need to be renamed.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Modules to Remove
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
Guido pronounced that "silly old stuff" is to be deleted from the
|
|
|
|
|
stdlib for Py3K [#silly-old-stuff]_. This is open-ended on purpose.
|
|
|
|
|
Each module to be removed needs to have a justification as to why it
|
|
|
|
|
should no longer be distributed with Python. This can range from the
|
|
|
|
|
module being deprecated in Python 2.x to being for a platform that is
|
|
|
|
|
no longer widely used.
|
|
|
|
|
|
|
|
|
|
This section of the PEP lists the various modules to be removed. Each
|
|
|
|
|
subsection represents a different reason for modules to be
|
|
|
|
|
removed. Each module must have a specific justification on top of
|
|
|
|
|
being listed in a specific subsection so as to make sure only modules
|
|
|
|
|
that truly deserve to be removed are in fact removed.
|
|
|
|
|
|
|
|
|
|
When a reason mentions how long it has been since a module has been
|
|
|
|
|
"uniquely edited", it is in reference to how long it has been since a
|
|
|
|
|
checkin was done specifically for the module and not for a change that
|
|
|
|
|
applied universally across the entire stdlib. If an edit time is not
|
|
|
|
|
denoted as "unique" then it is the last time the file was edited,
|
|
|
|
|
period.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Previously deprecated
|
|
|
|
|
---------------------
|
|
|
|
|
|
2007-01-10 14:30:05 -05:00
|
|
|
|
PEP 4 lists all modules that have been deprecated in the stdlib
|
2008-04-28 20:37:53 -04:00
|
|
|
|
[#pep-0004]_. The specified motivations mirror those listed in
|
|
|
|
|
PEP 4. All modules listed
|
2008-04-26 00:05:53 -04:00
|
|
|
|
in the PEP at the time of the first alpha release of Python 3.0 will
|
|
|
|
|
be removed.
|
2007-01-10 14:30:05 -05:00
|
|
|
|
|
2007-05-16 00:31:51 -04:00
|
|
|
|
The entire contents of lib-old will also be removed. These modules
|
2007-01-10 14:30:05 -05:00
|
|
|
|
have already been removed from being imported but are kept in the
|
|
|
|
|
distribution for Python for users that rely upon the code.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* buildtools
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Documented as deprecated since Python 2.3 without an explicit
|
|
|
|
|
reason.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* cfmfile
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Documented as deprecated since Python 2.4 without an explicit
|
|
|
|
|
reason.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* cl
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Documented as obsolete since Python 2.0 or earlier.
|
|
|
|
|
+ Interface to SGI hardware.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* md5
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Supplanted by the ``hashlib`` module.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* mimetools
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Documented as obsolete without an explicit reason.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* MimeWriter
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Supplaned by the ``email`` package.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* mimify
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Supplanted by the ``email`` package.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* multifile
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Supplanted by the ``email`` package.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* posixfile
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Locking is better done by ``fcntl.lockf()``.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* rfc822
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Supplanted by the ``email`` package.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* sha
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Supplanted by the ``hashlib`` package.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* sv
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Documented as obsolete since Python 2.0 or earlier.
|
|
|
|
|
+ Interface to obsolete SGI Indigo hardware.
|
|
|
|
|
|
2008-03-19 16:20:37 -04:00
|
|
|
|
* timing
|
|
|
|
|
|
2008-04-28 20:37:53 -04:00
|
|
|
|
+ Documented as obsolete since Python 2.0 or earlier.
|
|
|
|
|
+ ``time.clock()`` gives better time resolution.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
Platform-specific with minimal use
|
|
|
|
|
----------------------------------
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
Python supports many platforms, some of which are not widely used or
|
|
|
|
|
maintained.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
And on some of these platforms there are modules that have limited use
|
|
|
|
|
to people on those platforms. Because of their limited usefulness it
|
|
|
|
|
would be better to no longer burden the Python development team with
|
|
|
|
|
their maintenance.
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
The modules mentioned below are documented. All undocumented modules
|
2008-04-26 00:05:53 -04:00
|
|
|
|
for the specified platforms will also be removed.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
IRIX
|
|
|
|
|
/////
|
|
|
|
|
The IRIX operating system is no longer produced [#irix-retirement]_.
|
2008-04-28 20:47:38 -04:00
|
|
|
|
Removing all modules from the plat-irix[56] directory has been deemed
|
2008-04-28 20:27:49 -04:00
|
|
|
|
reasonable because of this fact.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ AL/al [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- Provides sound support on Indy and Indigo workstations.
|
|
|
|
|
- Both workstations are no longer available.
|
|
|
|
|
- Code has not been uniquely edited in three years.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ cd [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- CD drive control for SGI systems.
|
|
|
|
|
- SGI no longer sells machines with IRIX on them.
|
|
|
|
|
- Code has not been uniquely edited in 14 years.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ cddb [done: 3.0]
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ cdplayer [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
- Undocumented.
|
|
|
|
|
|
|
|
|
|
+ cl/CL/CL_old [done: 3.0]
|
2007-08-03 01:24:40 -04:00
|
|
|
|
|
|
|
|
|
- Compression library for SGI systems.
|
|
|
|
|
- SGI no longer sells machines with IRIX on them.
|
|
|
|
|
- Code has not been uniquely edited in 14 years.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ DEVICE/GL/gl/cgen/cgensuport [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
- GL access, which is the predecessor to OpenGL.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
- Has not been edited in at least eight years.
|
|
|
|
|
- Third-party libraries provide better support (PyOpenGL [#pyopengl]_).
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ ERRNO [done: 3.0]
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ FILE [done: 3.0]
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
- Undocumented.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ FL/fl/flp [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- Wrapper for the FORMS library [#irix-forms]_
|
|
|
|
|
- FORMS has not been edited in 12 years.
|
|
|
|
|
- Library is not widely used.
|
|
|
|
|
- First eight hits on Google are for Python docs for fl.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ fm [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- Wrapper to the IRIS Font Manager library.
|
|
|
|
|
- Only available on SGI machines which no longer come with IRIX.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ GET [done: 3.0]
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ GLWS [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ imgfile [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- Wrapper for SGI libimage library for imglib image files
|
|
|
|
|
(``.rgb`` files).
|
|
|
|
|
- Python Imaging Library provdes read-only support [#pil]_.
|
|
|
|
|
- Not uniquely edited in 13 years.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ IN [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ IOCTL [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ jpeg [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- Wrapper for JPEG (de)compressor.
|
|
|
|
|
- Code not uniquely edited in nine years.
|
|
|
|
|
- Third-party libraries provide better support
|
2008-04-28 20:47:38 -04:00
|
|
|
|
(Python Imaging Library [#pil]_).
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ panel [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ panelparser [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ readcd [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ SV [done: 3.0]
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ torgb [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:47:38 -04:00
|
|
|
|
+ WAIT [done: 3.0]
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
|
|
|
|
|
Mac-specific modules
|
|
|
|
|
////////////////////
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
The Mac-specific modules are not well-maintained (e.g., the bgen
|
2008-04-28 20:27:49 -04:00
|
|
|
|
tool used to auto-generate many of the modules has never been
|
|
|
|
|
updated to support UCS-4). It is also not Python's place to maintain
|
|
|
|
|
such a large amount of OS-specific modules. Thus all modules under
|
|
|
|
|
plat-mac are to be removed.
|
|
|
|
|
|
|
|
|
|
A stub module for proxy access will be provided for use by urllib.
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* _builtinSuites
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
* Audio_mac
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* aepack
|
|
|
|
|
|
|
|
|
|
- OSA support is better through third-party modules.
|
|
|
|
|
|
|
|
|
|
* Appscript [#appscript]_.
|
|
|
|
|
|
|
|
|
|
- Hard-coded endianness which breaks on Intel Macs.
|
|
|
|
|
- Might need to rename if Carbon package dependent.
|
|
|
|
|
|
|
|
|
|
* aetools
|
|
|
|
|
|
|
|
|
|
- See aepack.
|
|
|
|
|
|
|
|
|
|
* aetypes
|
|
|
|
|
|
|
|
|
|
- See aepack.
|
|
|
|
|
|
|
|
|
|
* applesingle
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- AppleSingle is a binary file format for A/UX.
|
|
|
|
|
- A/UX no longer distributed.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* appletrawmain
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
|
|
|
|
* appletrunner
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
|
|
|
|
* argvemulator
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* autoGIL
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
- Very bad model for using Python with the CFRunLoop.
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* bgenlocations
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
|
|
|
|
* bundlebuilder
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* Carbon
|
|
|
|
|
|
|
|
|
|
- Carbon development has stopped.
|
|
|
|
|
- Does not support 64-bit systems completely.
|
|
|
|
|
- Dependent on bgen which has never been updated to support UCS-4
|
|
|
|
|
Unicode builds of Python.
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* CodeWarrior
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* ColorPicker
|
|
|
|
|
|
|
|
|
|
- Better to use Cocoa for GUIs.
|
|
|
|
|
|
|
|
|
|
* EasyDialogs
|
|
|
|
|
|
|
|
|
|
- Better to use Cocoa for GUIs.
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* Explorer
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
* Finder
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* findertools
|
|
|
|
|
|
|
|
|
|
- No longer useful.
|
|
|
|
|
|
|
|
|
|
* FrameWork
|
|
|
|
|
|
|
|
|
|
- Poorly documented.
|
|
|
|
|
- Not updated to support Carbon Events.
|
|
|
|
|
|
|
|
|
|
* gensuitemodule
|
|
|
|
|
|
|
|
|
|
- See aepack.
|
|
|
|
|
|
|
|
|
|
* ic
|
|
|
|
|
|
|
|
|
|
* icopen
|
|
|
|
|
|
|
|
|
|
- Not needed on OS X.
|
|
|
|
|
- Meant to replace 'open' which is usually a bad thing to do.
|
|
|
|
|
|
|
|
|
|
* macerrors
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
|
|
|
|
* MacOS
|
|
|
|
|
|
|
|
|
|
- Would also mean the removal of binhex.
|
|
|
|
|
|
|
|
|
|
* macostools
|
|
|
|
|
|
|
|
|
|
* macresource
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
|
|
|
|
* MiniAEFrame
|
|
|
|
|
|
|
|
|
|
- See aepack.
|
|
|
|
|
|
|
|
|
|
* Nav
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* Netscape
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* pimp
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* PixMapWrapper
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:56:36 -04:00
|
|
|
|
* StdSuites
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
* SystemEvents
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
* Terminal
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
- Package under lib-scriptpackages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* terminalcommand
|
|
|
|
|
|
|
|
|
|
- Undocumented.
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* videoreader
|
|
|
|
|
|
|
|
|
|
- No longer used.
|
|
|
|
|
|
|
|
|
|
* W
|
|
|
|
|
|
|
|
|
|
- No longer distributed with Python.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. _PyObjC: http://pyobjc.sourceforge.net/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Solaris
|
|
|
|
|
///////
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ SUNAUDIODEV/sunaudiodev [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
- Access to the sound card on Sun machines.
|
|
|
|
|
- Code not uniquely edited in over eight years.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2007-01-05 15:23:56 -05:00
|
|
|
|
Hardly used
|
|
|
|
|
------------
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
Some platform-independent modules are rarely used. There are a number of
|
|
|
|
|
possible explanations for this, including, ease of reimplementation, very
|
|
|
|
|
small audience or lack of adherence to more modern standards.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2008-05-06 19:25:32 -04:00
|
|
|
|
* audiodev [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Undocumented.
|
|
|
|
|
+ Not edited in five years.
|
|
|
|
|
+ If removed sunaudio should go as well (also undocumented; not
|
|
|
|
|
edited in over seven years).
|
|
|
|
|
|
2008-05-08 14:17:06 -04:00
|
|
|
|
* imputil [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Undocumented.
|
|
|
|
|
+ Never updated to support absolute imports.
|
|
|
|
|
|
2008-05-08 15:28:11 -04:00
|
|
|
|
* mutex [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Easy to implement using a semaphore and a queue.
|
|
|
|
|
+ Cannot block on a lock attempt.
|
|
|
|
|
+ Not uniquely edited since its addition 15 years ago.
|
2008-02-23 23:31:56 -05:00
|
|
|
|
+ Only useful with the 'sched' module.
|
|
|
|
|
+ Not thread-safe.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
|
2008-05-08 15:54:02 -04:00
|
|
|
|
* stringold [done: 2.6, 3.0]
|
2007-01-10 14:30:05 -05:00
|
|
|
|
|
|
|
|
|
+ Function versions of the methods on string objects.
|
|
|
|
|
+ Obsolete since Python 1.6.
|
|
|
|
|
+ Any functionality not in the string object or module will be moved
|
|
|
|
|
to the string module (mostly constants).
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* symtable/_symtable
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Undocumented.
|
|
|
|
|
|
2008-05-09 01:33:55 -04:00
|
|
|
|
* toaiff [done: 2.6, 3.0 (moved to Demo)]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Undocumented.
|
|
|
|
|
+ Requires ``sox`` library to be installed on the system.
|
|
|
|
|
|
2008-05-08 16:38:15 -04:00
|
|
|
|
* user [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Easily handled by allowing the application specify its own
|
|
|
|
|
module name, check for existence, and import if found.
|
|
|
|
|
|
2008-05-09 01:21:18 -04:00
|
|
|
|
* new [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Just a rebinding of names from the 'types' module.
|
|
|
|
|
+ Can also call ``type`` built-in to get most types easily.
|
2007-01-10 14:30:05 -05:00
|
|
|
|
+ Docstring states the module is no longer useful as of revision
|
|
|
|
|
27241 (2002-06-15).
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-05-09 18:54:06 -04:00
|
|
|
|
* pure [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Written before Pure Atria was bought by Rational which was then
|
|
|
|
|
bought by IBM (in other words, very old).
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
2008-05-09 01:26:44 -04:00
|
|
|
|
* test.testall [done: 2.6, 3.0]
|
2008-03-02 22:37:55 -05:00
|
|
|
|
|
|
|
|
|
+ From the days before regrtest.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
Obsolete
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Becoming obsolete signifies that either another module in the stdlib
|
|
|
|
|
or a widely distributed third-party library provides a better solution
|
|
|
|
|
for what the module is meant for.
|
|
|
|
|
|
2008-05-09 22:27:51 -04:00
|
|
|
|
* Bastion/rexec [done: 2.6, 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Restricted execution / security.
|
|
|
|
|
+ Turned off in Python 2.3.
|
|
|
|
|
+ Modules deemed unsafe.
|
|
|
|
|
|
2008-05-09 22:49:52 -04:00
|
|
|
|
* bsddb185 [done: 2.6, 3.0]
|
2007-04-29 16:03:44 -04:00
|
|
|
|
|
|
|
|
|
+ Superceded by bsddb3
|
|
|
|
|
+ Not built by default.
|
|
|
|
|
+ Documentation specifies that the "module should never be used
|
|
|
|
|
directly in new code".
|
2008-04-29 17:45:05 -04:00
|
|
|
|
+ Available externally from PyPI_.
|
2008-05-01 15:23:35 -04:00
|
|
|
|
|
2008-05-09 23:20:19 -04:00
|
|
|
|
* Canvas [done: 2.6, 3.0]
|
2008-04-29 17:45:05 -04:00
|
|
|
|
|
|
|
|
|
+ Marked as obsolete in a comment by Guido since 2000
|
|
|
|
|
(see http://bugs.python.org/issue210677).
|
2008-05-09 23:20:19 -04:00
|
|
|
|
+ Better to use the ``Tkinter.Canvas`` class.
|
2007-04-29 16:03:44 -04:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* commands
|
2007-01-03 15:16:24 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
+ subprocess module replaces it [#pep-0324]_.
|
|
|
|
|
+ Remove getstatus(), move rest to subprocess.
|
2007-01-03 15:16:24 -05:00
|
|
|
|
|
2008-05-09 23:00:05 -04:00
|
|
|
|
* compiler [done: 2.6, 3.0]
|
2007-05-14 16:18:53 -04:00
|
|
|
|
|
|
|
|
|
+ Having to maintain both the built-in compiler and the stdlib
|
|
|
|
|
package is redundant [#ast-removal]_.
|
|
|
|
|
+ The AST created by the compiler is available [#ast]_.
|
|
|
|
|
+ Mechanism to compile from an AST needs to be added.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
2008-05-10 17:14:13 -04:00
|
|
|
|
* dircache [done: 2.6, 3.0]
|
2008-03-23 21:39:08 -04:00
|
|
|
|
|
|
|
|
|
+ Negligible use.
|
|
|
|
|
+ Easily replicated.
|
2007-05-14 16:18:53 -04:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* dl [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ ctypes provides better support for same functionality.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* fpformat
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ All functionality is supported by string interpolation.
|
|
|
|
|
|
2008-02-23 23:31:56 -05:00
|
|
|
|
* htmllib
|
|
|
|
|
|
|
|
|
|
+ Superceded by HTMLParser.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* ihooks
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2007-01-06 15:54:39 -05:00
|
|
|
|
+ Undocumented.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
+ For use with rexec which has been turned off since Python 2.3.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* imageop [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Better support by third-party libraries
|
|
|
|
|
(Python Imaging Library [#pil]_).
|
2007-05-20 03:13:46 -04:00
|
|
|
|
+ Unit tests relied on rgbimg and imgfile.
|
|
|
|
|
- rgbimg was removed in Python 2.6.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
- imgfile slated for removal in this PEP. [done: 3.0]
|
|
|
|
|
|
|
|
|
|
* linuxaudiodev [done: 3.0]
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Replaced by ossaudiodev.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* mhlib
|
|
|
|
|
|
2008-04-29 01:20:37 -04:00
|
|
|
|
+ Should be removed as an individual module; use ``mailbox``
|
|
|
|
|
instead.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
|
|
|
|
* popen2 [done: 3.0]
|
|
|
|
|
|
2008-04-29 01:24:29 -04:00
|
|
|
|
+ subprocess module replaces it [#pep-0324]_.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
|
|
|
|
* sgmllib
|
2008-02-23 23:31:56 -05:00
|
|
|
|
|
|
|
|
|
+ Does not fully parse SGML.
|
|
|
|
|
+ In the stdlib for support to htmllib which is slated for removal.
|
|
|
|
|
|
2008-05-05 19:22:05 -04:00
|
|
|
|
* sre
|
|
|
|
|
|
|
|
|
|
+ Previously deprecated; import ``re`` instead.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* stat
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ ``os.stat`` now returns a tuple with attributes.
|
2007-01-02 18:23:15 -05:00
|
|
|
|
+ Functions in the module should be made into methods for the object
|
|
|
|
|
returned by os.stat.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* statvfs
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ ``os.statvfs`` now returns a tuple with attributes.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* thread
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ People should use 'threading' instead.
|
|
|
|
|
|
|
|
|
|
- Rename 'thread' to _thread.
|
2007-01-05 16:41:45 -05:00
|
|
|
|
- Deprecate dummy_thread and rename _dummy_thread.
|
|
|
|
|
- Move thread.get_ident over to threading.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Guido has previously supported the deprecation
|
|
|
|
|
[#thread-deprecation]_.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
2008-03-05 16:59:50 -05:00
|
|
|
|
* urllib
|
|
|
|
|
|
|
|
|
|
+ Superceded by urllib2.
|
2008-04-28 20:27:49 -04:00
|
|
|
|
+ Functionality unique to urllib will be kept in the
|
|
|
|
|
`urllib package`_.
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* UserDict [done: 3.0]
|
2008-02-23 23:31:56 -05:00
|
|
|
|
|
|
|
|
|
+ Not as useful since types can be a superclass.
|
|
|
|
|
+ Useful bits moved to the 'collections' module.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* UserList/UserString [done: 3.0]
|
2008-02-23 23:31:56 -05:00
|
|
|
|
|
|
|
|
|
+ Not useful since types can be a superclass.
|
2008-04-29 17:45:05 -04:00
|
|
|
|
+ Moved to the 'collections' module.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
Modules to Rename
|
|
|
|
|
=================
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
Many modules existed in
|
2007-01-01 19:02:41 -05:00
|
|
|
|
the stdlib before PEP 8 came into existence [#pep-0008]_. This has
|
2008-01-21 17:18:06 -05:00
|
|
|
|
led to some naming inconsistencies and namespace bloat that should be
|
|
|
|
|
addressed.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PEP 8 violations
|
|
|
|
|
----------------
|
|
|
|
|
|
2007-01-05 15:23:56 -05:00
|
|
|
|
PEP 8 specifies that modules "should have short, all-lowercase names"
|
|
|
|
|
where "underscores can be used ... if it improves readability"
|
|
|
|
|
[#pep-0008]_. The use of underscores is discouraged in package names.
|
2008-04-17 19:27:17 -04:00
|
|
|
|
The following modules violate PEP 8 and are not somehow being renamed
|
|
|
|
|
by being moved to a package.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2007-01-02 01:53:47 -05:00
|
|
|
|
================== ==================================================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================== ==================================================
|
|
|
|
|
_winreg winreg (rename also because module has a public
|
2007-01-05 15:23:56 -05:00
|
|
|
|
interface and thus should not have a leading
|
|
|
|
|
underscore)
|
2007-01-02 01:53:47 -05:00
|
|
|
|
ConfigParser configparser
|
|
|
|
|
copy_reg copyreg
|
2008-04-17 19:27:17 -04:00
|
|
|
|
PixMapWrapper pixmapwrapper
|
2007-01-02 01:53:47 -05:00
|
|
|
|
Queue queue
|
|
|
|
|
SocketServer socketserver
|
|
|
|
|
================== ==================================================
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Merging C and Python implementations of the same interface
|
|
|
|
|
----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
Several interfaces have both a Python and C implementation. While it
|
|
|
|
|
is great to have a C implementation for speed with a Python
|
|
|
|
|
implementation as fallback, there is no need to expose the two
|
|
|
|
|
implementations independently in the stdlib. For Python 3.0 all
|
|
|
|
|
interfaces with two implementations will be merged into a single
|
|
|
|
|
public interface.
|
|
|
|
|
|
|
|
|
|
The C module is to be given a leading underscore to delineate the fact
|
|
|
|
|
that it is not the reference implementation (the Python implementation
|
|
|
|
|
is). This means that any semantic difference between the C and Python
|
|
|
|
|
versions must be dealt with before Python 3.0 or else the C
|
|
|
|
|
implementation will be removed until it can be fixed.
|
|
|
|
|
|
|
|
|
|
One interface that is not listed below is xml.etree.ElementTree. This
|
|
|
|
|
is an externally maintained module and thus is not under the direct
|
|
|
|
|
control of the Python development team for renaming. See `Open
|
|
|
|
|
Issues`_ for a discussion on this.
|
|
|
|
|
|
|
|
|
|
* pickle/cPickle
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Rename cPickle to _pickle.
|
|
|
|
|
+ Semantic completeness of C implementation *not* verified.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
* profile/cProfile
|
2007-01-02 01:53:47 -05:00
|
|
|
|
|
|
|
|
|
+ Rename cProfile to _profile.
|
|
|
|
|
+ Semantic completeness of C implementation *not* verified.
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* StringIO/cStringIO [done: 3.0]
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2008-03-25 15:08:08 -04:00
|
|
|
|
+ Add the class to the 'io' module.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2008-02-03 18:11:38 -05:00
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
No public, documented interface
|
|
|
|
|
-------------------------------
|
|
|
|
|
|
|
|
|
|
There are several modules in the stdlib that have no defined public
|
|
|
|
|
interface. These modules exist as support code for other modules that
|
|
|
|
|
are exposed. Because they are not meant to be used directly they
|
|
|
|
|
should be renamed to reflect this fact.
|
|
|
|
|
|
2007-01-02 01:53:47 -05:00
|
|
|
|
============ ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
============ ===============================
|
2008-04-26 00:05:53 -04:00
|
|
|
|
markupbase _markupbase [done: 3.0]
|
2008-02-03 18:11:38 -05:00
|
|
|
|
dummy_thread _dummy_thread [#]_
|
2007-01-02 01:53:47 -05:00
|
|
|
|
============ ===============================
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2008-02-03 18:11:38 -05:00
|
|
|
|
.. [#] Assumes ``thread`` is renamed to ``_thread``.
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2007-03-12 22:03:26 -04:00
|
|
|
|
Poorly chosen names
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
A few modules have names that were poorly chosen in hindsight. They
|
|
|
|
|
should be renamed so as to prevent their bad name from perpetuating
|
|
|
|
|
beyond the 2.x series.
|
|
|
|
|
|
|
|
|
|
================= ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================= ===============================
|
2008-04-26 00:05:53 -04:00
|
|
|
|
repr reprlib
|
2007-03-12 22:03:26 -04:00
|
|
|
|
test.test_support test.support
|
|
|
|
|
================= ===============================
|
|
|
|
|
|
|
|
|
|
|
2008-01-21 17:18:06 -05:00
|
|
|
|
Grouping of modules
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
As the stdlib has grown, several areas within it have expanded to
|
2008-04-29 17:45:05 -04:00
|
|
|
|
include multiple modules (e.g., support for database files). It
|
|
|
|
|
thus makes sense to group related modules into packages.
|
2008-01-21 17:18:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dbm package
|
|
|
|
|
///////////
|
|
|
|
|
|
|
|
|
|
================= ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================= ===============================
|
2008-05-03 19:22:37 -04:00
|
|
|
|
anydbm dbm.__init__ [1]_
|
2008-04-10 16:53:56 -04:00
|
|
|
|
dbhash dbm.bsd
|
2008-01-21 17:18:06 -05:00
|
|
|
|
dbm dbm.ndbm
|
|
|
|
|
dumbdm dbm.dumb
|
|
|
|
|
gdbm dbm.gnu
|
2008-05-03 19:22:37 -04:00
|
|
|
|
whichdb dbm.__init__ [1]_
|
2008-01-21 17:18:06 -05:00
|
|
|
|
================= ===============================
|
|
|
|
|
|
|
|
|
|
|
2008-05-03 19:22:37 -04:00
|
|
|
|
.. [1] ``dbm.__init__`` can combine ``anybdbm`` and ``whichdb`` since
|
|
|
|
|
the public API for both modules has no name conflict and the
|
|
|
|
|
two modules have closely related usage.
|
2008-01-29 18:44:20 -05:00
|
|
|
|
|
|
|
|
|
|
2008-02-23 23:31:56 -05:00
|
|
|
|
|
|
|
|
|
html package
|
|
|
|
|
////////////
|
|
|
|
|
|
|
|
|
|
================== ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================== ===============================
|
|
|
|
|
HTMLParser html.parser
|
|
|
|
|
htmlentitydefs html.entities
|
|
|
|
|
================== ===============================
|
|
|
|
|
|
|
|
|
|
|
2008-02-03 18:11:38 -05:00
|
|
|
|
http package
|
|
|
|
|
////////////
|
|
|
|
|
|
|
|
|
|
================= ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================= ===============================
|
2008-02-05 15:13:45 -05:00
|
|
|
|
httplib http.client
|
2008-02-03 18:11:38 -05:00
|
|
|
|
BaseHTTPServer http.server [2]_
|
|
|
|
|
CGIHTTPServer http.server [2]_
|
|
|
|
|
SimpleHTTPServer http.server [2]_
|
2008-03-08 22:33:07 -05:00
|
|
|
|
Cookie http.cookies
|
|
|
|
|
cookielib http.cookiejar
|
2008-02-03 18:11:38 -05:00
|
|
|
|
================= ===============================
|
|
|
|
|
|
|
|
|
|
.. [2] The ``http.server`` module can combine the specified modules
|
|
|
|
|
safely as they have no naming conflicts.
|
2008-02-24 01:09:56 -05:00
|
|
|
|
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
tkinter package
|
|
|
|
|
///////////////
|
2008-02-24 01:09:56 -05:00
|
|
|
|
|
|
|
|
|
================== ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================== ===============================
|
2008-04-28 20:27:49 -04:00
|
|
|
|
Dialog tkinter.dialog
|
|
|
|
|
FileDialog tkinter.filedialog [4]_
|
|
|
|
|
FixTk tkinter._fix
|
|
|
|
|
ScrolledText tkinter.scrolledtext
|
|
|
|
|
SimpleDialog tkinter.simpledialog [5]_
|
|
|
|
|
Tix tkinter.tix
|
|
|
|
|
Tkconstants tkinter.constants
|
|
|
|
|
Tkdnd tkinter.dnd
|
|
|
|
|
Tkinter tkinter.__init__
|
|
|
|
|
tkColorChooser tkinter.colorchooser
|
|
|
|
|
tkCommonDialog tkinter.commondialog
|
|
|
|
|
tkFileDialog tkinter.filedialog [4]_
|
|
|
|
|
tkFont tkinter.font
|
|
|
|
|
tkMessageBox tkinter.messagebox
|
|
|
|
|
tkSimpleDialog tkinter.simpledialog [5]_
|
|
|
|
|
turtle tkinter.turtle
|
2008-02-24 01:09:56 -05:00
|
|
|
|
================== ===============================
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
.. [4] ``tkinter.filedialog`` can safely combine ``FileDialog`` and
|
2008-03-05 16:59:50 -05:00
|
|
|
|
``tkFileDialog`` as there are no naming conflicts.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
.. [5] ``tkinter.simpledialog`` can safely combine ``SimpleDialog``
|
|
|
|
|
and ``tkSimpleDialog`` have no naming conflicts.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
urllib package
|
|
|
|
|
//////////////
|
|
|
|
|
|
|
|
|
|
Originally this new package was to be named ``url``, but because of
|
|
|
|
|
the common use of the name as a variable, it has been deemed better
|
|
|
|
|
to keep the name ``urllib`` and instead shift existing modules around
|
|
|
|
|
into a new package.
|
2008-03-05 16:59:50 -05:00
|
|
|
|
|
|
|
|
|
================== ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================== ===============================
|
2008-04-28 20:27:49 -04:00
|
|
|
|
urllib2 urllib.request
|
|
|
|
|
urlparse urllib.parse
|
|
|
|
|
urllib urllib.parse, urllib.request [6]_
|
2008-03-05 16:59:50 -05:00
|
|
|
|
================== ===============================
|
|
|
|
|
|
|
|
|
|
.. [6] The quoting-related functions from ``urllib`` will be added
|
2008-04-28 20:27:49 -04:00
|
|
|
|
to ``urllib.parse``. ``urllib.URLOpener`` and
|
|
|
|
|
``urllib.FancyUrlOpener`` will be added to ``urllib.request``
|
|
|
|
|
as long as the documentation for both modules is updated.
|
2008-02-24 01:09:56 -05:00
|
|
|
|
|
|
|
|
|
|
2008-02-03 18:11:38 -05:00
|
|
|
|
xmlrpc package
|
|
|
|
|
//////////////
|
|
|
|
|
|
|
|
|
|
================== ===============================
|
|
|
|
|
Current Name Replacement Name
|
|
|
|
|
================== ===============================
|
2008-02-05 15:13:45 -05:00
|
|
|
|
xmlrpclib xmlrpc.client
|
2008-05-10 15:51:45 -04:00
|
|
|
|
DocXMLRPCServer xmlrpc.server [3]_
|
2008-02-03 18:11:38 -05:00
|
|
|
|
SimpleXMLRPCServer xmlrpc.server [3]_
|
|
|
|
|
================== ===============================
|
|
|
|
|
|
|
|
|
|
.. [3] The modules being combined into ``xmlrpc.server`` have no
|
|
|
|
|
naming conflicts and thus can safely be merged.
|
|
|
|
|
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
Transition Plan
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
For modules to be removed
|
|
|
|
|
-------------------------
|
|
|
|
|
|
2008-05-08 00:40:25 -04:00
|
|
|
|
For module removals, it is easiest to remove the module first in
|
|
|
|
|
Python 3.0 to see where dependencies exist. This makes finding
|
|
|
|
|
code that (possibly) requires the suppression of the
|
|
|
|
|
DeprecationWarning easier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In Python 3.0
|
|
|
|
|
/////////////
|
|
|
|
|
|
|
|
|
|
#. Remove the module.
|
|
|
|
|
|
|
|
|
|
#. Remove related tests.
|
|
|
|
|
|
2008-05-08 14:22:19 -04:00
|
|
|
|
#. Remove all documentation (typically the module's documentation
|
|
|
|
|
file and its entry in a file for the Library Reference).
|
2008-05-08 00:40:25 -04:00
|
|
|
|
|
|
|
|
|
#. Edit ``Modules/Setup.dist`` and ``setup.py`` if needed.
|
|
|
|
|
|
|
|
|
|
#. Run the regression test suite (using ``-uall``); watch out for
|
|
|
|
|
tests that are skipped because an import failed for the removed
|
|
|
|
|
module.
|
|
|
|
|
|
|
|
|
|
#. Check in the change (with an appropriate ``Misc/NEWS`` entry).
|
|
|
|
|
|
|
|
|
|
#. Update this PEP noting that the 3.0 step is done.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
|
2008-05-06 19:36:55 -04:00
|
|
|
|
In Python 2.6
|
|
|
|
|
/////////////
|
|
|
|
|
|
2008-05-09 22:24:33 -04:00
|
|
|
|
#. Add the following code to the deprecated module if it is
|
|
|
|
|
implemented in Python (adjusting the
|
2008-05-06 19:36:55 -04:00
|
|
|
|
module name and the ``warnings`` import and needed)::
|
|
|
|
|
|
|
|
|
|
from warnings import warnpy3k
|
|
|
|
|
warnpy3k("the XXX module has been removed in Python 3.0",
|
|
|
|
|
stacklevel=2)
|
|
|
|
|
del warnpy3k
|
2008-05-09 22:24:33 -04:00
|
|
|
|
|
|
|
|
|
or the following if it is an extension module::
|
|
|
|
|
|
|
|
|
|
if (PyErr_WarnPy3k("the XXX module has been removed in "
|
|
|
|
|
"Python 3.0", 2) < 0)
|
|
|
|
|
return;
|
2008-05-06 19:36:55 -04:00
|
|
|
|
|
2008-05-06 19:57:01 -04:00
|
|
|
|
(the Python-Dev TextMate bundle, available from ``Misc/TextMate``,
|
|
|
|
|
contains a command that will generate all of this for you).
|
|
|
|
|
|
2008-05-06 19:36:55 -04:00
|
|
|
|
#. Update the documentation. For modules with their own documentation
|
2008-05-09 22:24:33 -04:00
|
|
|
|
file, use the ``:deprecated:`` option with the ``module`` directive
|
2008-05-08 00:40:25 -04:00
|
|
|
|
along with the ``deprecated`` directive, stating the deprecation
|
2008-05-09 22:24:33 -04:00
|
|
|
|
is occurring in 2.6, but is for the module's removal in 3.0.::
|
|
|
|
|
|
|
|
|
|
.. deprecated:: 2.6
|
|
|
|
|
The XXX module has been removed in Python 3.0.
|
|
|
|
|
|
2008-05-06 19:36:55 -04:00
|
|
|
|
For modules simply listed in a file (e.g., ``undoc.rst``), use the
|
|
|
|
|
``warning`` directive.
|
|
|
|
|
|
|
|
|
|
#. Add the module to the module deletion test in ``test_py3kwarn``.
|
|
|
|
|
|
2008-05-08 16:01:15 -04:00
|
|
|
|
#. Suppress the warning in the module's test code using
|
|
|
|
|
``test.test_support.import_module(name, deprecated=True)``.
|
|
|
|
|
|
2008-05-06 19:36:55 -04:00
|
|
|
|
#. Check in the change w/ appropriate ``Misc/NEWS`` entry (**block**
|
|
|
|
|
the checkin in ``py3k``!).
|
|
|
|
|
|
|
|
|
|
#. Update this PEP noting that the 2.6 step is done.
|
|
|
|
|
|
|
|
|
|
|
2007-01-12 16:57:29 -05:00
|
|
|
|
Renaming of modules
|
|
|
|
|
-------------------
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
Stub modules will be created which have the original names. They
|
|
|
|
|
will reside in a stdlib directory similar to the defunct ``lib-old``
|
|
|
|
|
directory. This facility prevents naming conflicts on
|
|
|
|
|
case-insensitive filesystems where only the case of a module's name
|
|
|
|
|
changed.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2008-04-29 17:46:32 -04:00
|
|
|
|
The stub modules will import the module code based on the new names::
|
|
|
|
|
|
|
|
|
|
from sys import modules
|
|
|
|
|
import new_name
|
|
|
|
|
modules[__name__] = new_name
|
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
As with modules to be removed in 3.0 but not in 2.x,
|
|
|
|
|
``DeprecationWarning`` will be raised using the ``warnings.warn3k()``
|
|
|
|
|
function.
|
2007-01-12 16:57:29 -05:00
|
|
|
|
|
|
|
|
|
Support in the 2to3 refactoring tool for renames will also be used
|
|
|
|
|
[#2to3]_. Import statements will be rewritten so that only the import
|
|
|
|
|
statement and none of the rest of the code needs to be touched. This
|
2008-02-03 17:57:08 -05:00
|
|
|
|
will be accomplished by using the ``as`` keyword in import statements
|
2007-01-12 16:57:29 -05:00
|
|
|
|
to bind in the module namespace to the old name while importing based
|
2008-04-29 01:24:29 -04:00
|
|
|
|
on the new name (when the keyword is not already used, otherwise the
|
|
|
|
|
re-assigned name should be left alone and only the module that is
|
2008-05-01 14:03:52 -04:00
|
|
|
|
imported needs to be changed). The ``fix_imports`` fixer is an
|
|
|
|
|
example of how to approach this.
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Open Issues
|
|
|
|
|
===========
|
|
|
|
|
|
|
|
|
|
Renaming of modules maintained outside of the stdlib
|
|
|
|
|
----------------------------------------------------
|
|
|
|
|
|
|
|
|
|
xml.etree.ElementTree not only does not meet PEP 8 naming standards
|
|
|
|
|
but it also has an exposed C implementation [#pep-0008]_. It is an
|
|
|
|
|
externally maintained package, though [#pep-0360]_. A request will be
|
|
|
|
|
made for the maintainer to change the name so that it matches PEP 8
|
|
|
|
|
and hides the C implementation.
|
|
|
|
|
|
|
|
|
|
|
2007-01-02 18:18:36 -05:00
|
|
|
|
Rejected Ideas
|
|
|
|
|
==============
|
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
Modules that were originally suggested for removal
|
2007-01-12 16:57:29 -05:00
|
|
|
|
--------------------------------------------------
|
2007-01-02 18:37:20 -05:00
|
|
|
|
|
2007-01-02 18:45:12 -05:00
|
|
|
|
* asynchat/asyncore
|
|
|
|
|
|
2007-01-12 16:57:29 -05:00
|
|
|
|
+ Josiah Carlson has said he will maintain the modules.
|
2008-04-26 00:05:53 -04:00
|
|
|
|
|
2008-03-08 23:03:39 -05:00
|
|
|
|
* audioop/sunau/aifc
|
|
|
|
|
|
|
|
|
|
+ Audio modules where the formats are still used.
|
2007-01-02 18:45:12 -05:00
|
|
|
|
|
2007-01-03 15:12:09 -05:00
|
|
|
|
* base64/quopri/uu
|
|
|
|
|
|
|
|
|
|
+ All still widely used.
|
|
|
|
|
+ 'codecs' module does not provide as nice of an API for basic
|
|
|
|
|
usage.
|
|
|
|
|
|
2007-01-02 18:37:20 -05:00
|
|
|
|
* fileinput
|
|
|
|
|
|
2007-01-02 20:02:09 -05:00
|
|
|
|
+ Useful when having to work with stdin.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* linecache
|
|
|
|
|
|
|
|
|
|
+ Used internally in several places.
|
2007-01-02 18:18:36 -05:00
|
|
|
|
|
2007-01-03 02:39:03 -05:00
|
|
|
|
* nis
|
|
|
|
|
|
|
|
|
|
+ Testimonials from people that new installations of NIS are still
|
2007-01-12 16:57:29 -05:00
|
|
|
|
occurring
|
2007-01-03 02:39:03 -05:00
|
|
|
|
|
2007-12-06 14:11:29 -05:00
|
|
|
|
* getopt
|
|
|
|
|
|
|
|
|
|
+ Simpler than optparse.
|
2008-04-28 20:56:36 -04:00
|
|
|
|
|
2008-04-28 20:27:49 -04:00
|
|
|
|
* repr
|
|
|
|
|
|
|
|
|
|
+ Useful as a basis for overriding.
|
|
|
|
|
+ Used internally.
|
2008-05-01 15:23:35 -04:00
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
* sched
|
|
|
|
|
|
|
|
|
|
+ Useful for simulations.
|
2007-12-06 14:11:29 -05:00
|
|
|
|
|
2007-01-02 18:18:36 -05:00
|
|
|
|
* telnetlib
|
|
|
|
|
|
2007-01-02 20:02:09 -05:00
|
|
|
|
+ Really handy for quick-and-dirty remote access.
|
2007-01-12 16:57:29 -05:00
|
|
|
|
+ Some hardware supports using telnet for configuration and
|
|
|
|
|
querying.
|
2007-01-02 18:18:36 -05:00
|
|
|
|
|
2008-04-26 00:05:53 -04:00
|
|
|
|
* Tkinter
|
|
|
|
|
|
|
|
|
|
+ Would prevent IDLE from existing.
|
|
|
|
|
+ No GUI toolkit would be available out of the box.
|
|
|
|
|
|
2007-01-02 18:18:36 -05:00
|
|
|
|
|
2007-01-02 19:42:29 -05:00
|
|
|
|
Introducing a new top-level package
|
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
|
|
It has been suggested that the entire stdlib be placed within its own
|
|
|
|
|
package. This PEP will not address this issue as it has its own
|
|
|
|
|
design issues (naming, does it deserve special consideration in import
|
|
|
|
|
semantics, etc.). Everything within this PEP can easily be handled if
|
|
|
|
|
a new top-level package is introduced.
|
|
|
|
|
|
|
|
|
|
|
2007-01-13 14:24:12 -05:00
|
|
|
|
Introducing new packages to contain theme-related modules
|
|
|
|
|
---------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
During the writing of this PEP it was noticed that certain themes
|
|
|
|
|
appeared in the stdlib. In the past people have suggested introducing
|
|
|
|
|
new packages to help collect modules that share a similar theme (e.g.,
|
|
|
|
|
audio). An Open Issue was created to suggest some new packages to
|
|
|
|
|
introduce.
|
|
|
|
|
|
|
|
|
|
In the end, though, not enough support could be pulled together to
|
2008-02-03 17:57:08 -05:00
|
|
|
|
warrant moving forward with the idea. Instead name simplification has
|
|
|
|
|
been chosen as the guiding force for PEPs to create.
|
2007-01-13 14:24:12 -05:00
|
|
|
|
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
References
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
.. [#pep-0004] PEP 4: Deprecation of Standard Modules
|
2007-01-02 19:54:06 -05:00
|
|
|
|
(http://www.python.org/dev/peps/pep-0004/)
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
.. [#pep-0008] PEP 8: Style Guide for Python Code
|
2007-01-02 19:54:06 -05:00
|
|
|
|
(http://www.python.org/dev/peps/pep-0008/)
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
2007-01-03 15:16:24 -05:00
|
|
|
|
.. [#pep-0324] PEP 324: subprocess -- New process module
|
|
|
|
|
(http://www.python.org/dev/peps/pep-0324/)
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
.. [#pep-0360] PEP 360: Externally Maintained Packages
|
2007-01-03 00:05:32 -05:00
|
|
|
|
(http://www.python.org/dev/peps/pep-0360/)
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
.. [#module-index] Python Documentation: Global Module Index
|
|
|
|
|
(http://docs.python.org/modindex.html)
|
|
|
|
|
|
|
|
|
|
.. [#timing-module] Python Library Reference: Obsolete
|
|
|
|
|
(http://docs.python.org/lib/obsolete-modules.html)
|
|
|
|
|
|
|
|
|
|
.. [#silly-old-stuff] Python-Dev email: "Py3k release schedule worries"
|
|
|
|
|
(http://mail.python.org/pipermail/python-3000/2006-December/005130.html)
|
|
|
|
|
|
|
|
|
|
.. [#thread-deprecation] Python-Dev email: Autoloading?
|
|
|
|
|
(http://mail.python.org/pipermail/python-dev/2005-October/057244.html)
|
|
|
|
|
|
|
|
|
|
.. [#py-dev-summary-2004-11-01] Python-Dev Summary: 2004-11-01
|
|
|
|
|
(http://www.python.org/dev/summary/2004-11-01_2004-11-15/#id10)
|
|
|
|
|
|
2007-01-12 16:57:29 -05:00
|
|
|
|
.. [#2to3] 2to3 refactoring tool
|
|
|
|
|
(http://svn.python.org/view/sandbox/trunk/2to3/)
|
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
.. [#pyopengl] PyOpenGL
|
|
|
|
|
(http://pyopengl.sourceforge.net/)
|
|
|
|
|
|
|
|
|
|
.. [#pil] Python Imaging Library (PIL)
|
|
|
|
|
(http://www.pythonware.com/products/pil/)
|
|
|
|
|
|
|
|
|
|
.. [#twisted] Twisted
|
|
|
|
|
(http://twistedmatrix.com/trac/)
|
|
|
|
|
|
|
|
|
|
.. [#irix-retirement] SGI Press Release:
|
|
|
|
|
End of General Availability for MIPS IRIX Products -- December 2006
|
|
|
|
|
(http://www.sgi.com/support/mips_irix.html)
|
|
|
|
|
|
|
|
|
|
.. [#irix-forms] FORMS Library by Mark Overmars
|
|
|
|
|
(ftp://ftp.cs.ruu.nl/pub/SGI/FORMS)
|
|
|
|
|
|
|
|
|
|
.. [#sun-au] Wikipedia: Au file format
|
|
|
|
|
(http://en.wikipedia.org/wiki/Au_file_format)
|
|
|
|
|
|
2007-01-05 01:00:48 -05:00
|
|
|
|
.. [#appscript] appscript
|
|
|
|
|
(http://appscript.sourceforge.net/)
|
|
|
|
|
|
2007-05-14 16:18:53 -04:00
|
|
|
|
.. [#ast] _ast module
|
|
|
|
|
(http://docs.python.org/lib/ast.html)
|
|
|
|
|
|
|
|
|
|
.. [#ast-removal] python-dev email: getting compiler package failures
|
|
|
|
|
(http://mail.python.org/pipermail/python-3000/2007-May/007615.html)
|
2008-05-01 15:23:35 -04:00
|
|
|
|
|
2008-04-29 17:45:05 -04:00
|
|
|
|
|
|
|
|
|
.. _PyPI: http://pypi.python.org/
|
2007-05-14 16:18:53 -04:00
|
|
|
|
|
2007-01-01 19:02:41 -05:00
|
|
|
|
|
|
|
|
|
Copyright
|
|
|
|
|
=========
|
|
|
|
|
|
|
|
|
|
This document has been placed in the public domain.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
..
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: indented-text
|
|
|
|
|
indent-tabs-mode: nil
|
|
|
|
|
sentence-end-double-space: t
|
|
|
|
|
fill-column: 70
|
|
|
|
|
coding: utf-8
|
|
|
|
|
End:
|