simplified lists (flat is better than nested); some minor edits

This commit is contained in:
David Goodger 2007-01-02 06:53:47 +00:00
parent 69cbade3af
commit 46fa06449e
1 changed files with 321 additions and 265 deletions

View File

@ -20,11 +20,11 @@ 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.
With Python 3.0 a chance to remove modules that do not have long term
usefulness has presented itself. This chance also allows for the
renaming of modules so that they follow the Python style guide
[#pep-0008]_. This PEP lists modules that should not be included in
Python 3.0 and what modules need to be renamed.
Python 3.0 has presented a chance to remove modules that do not have
long term usefulness. This chance also allows for the renaming of
modules so that they follow the Python style guide [#pep-0008]_. This
PEP lists modules that should not be included in Python 3.0 and what
modules need to be renamed.
Modules to Remove
@ -58,34 +58,25 @@ Modules in this section have been deprecated at some point in the
Python 2.x release series but are currently still distributed with
Python. Deprecation information is gathered either from PEP 4 or the
Global Module Index [#pep-0004]_, [#module-index]_. Each module is
listed with the Python version that the deprecation started in.
listed with the Python version of initial deprecation.
* buildtools
2.3
* cfmfile
2.4
* gopherlib
2.5
* macfs
2.3
* md5
2.5
* mimetools
2.3
* MimeWriter
2.3
* mimefy
2.3
* multifile
2.3
* posixfile
1.5
* rfc822
2.3
* rgbimg
2.5
* sha
2.5
============== ==========
Module Deprecated
============== ==========
buildtools 2.3
cfmfile 2.4
gopherlib 2.5
macfs 2.3
md5 2.5
mimetools 2.3
MimeWriter 2.3
mimefy 2.3
multifile 2.3
posixfile 1.5
rfc822 2.3
rgbimg 2.5
sha 2.5
============== ==========
Platform-specific with minimal use
@ -98,56 +89,79 @@ would be better to no longer burden the Python development team with
their maintenance.
* IRIX (which is no longer produced [#irix-retirement]_)
+ AL/al
- Provides sound support on Indy and Indigo workstations.
* Both workstations are no longer available.
- Code has not been uniquely edited in three years.
+ cd
- CD drive control for SGI systems.
* SGI no longer sells machines with IRIX on them.
- Code has not been uniquely edited in 14 years.
+ DEVICE/GL/gl/cgen/cgensuport
- OpenGL access.
- Has not been edited in at least eight years.
- Third-party libraries provide better support.
* PyOpenGL [#pyopengl]_
+ FL/fl/flp
- 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.
+ fm
- Wrapper to the IRIS Font Manager library.
* Only available on SGI machines which no longer come with
IRIX.
+ imgfile
- 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.
+ jpeg
- Wrapper for JPEG (de)compressor.
- Code not uniquely edited in nine years.
- Third-party libraries provide better support.
* Python Imaging Library [#pil]_
+ sv
- Wrapper for Indigo video card.
* Harware is no longer manufactured.
- Undocumented.
- Code not uniquely edited in 13 years.
+ AL/al
- Provides sound support on Indy and Indigo workstations.
- Both workstations are no longer available.
- Code has not been uniquely edited in three years.
+ cd
- CD drive control for SGI systems.
- SGI no longer sells machines with IRIX on them.
- Code has not been uniquely edited in 14 years.
+ DEVICE/GL/gl/cgen/cgensuport
- OpenGL access.
- Has not been edited in at least eight years.
- Third-party libraries provide better support (PyOpenGL [#pyopengl]_).
+ FL/fl/flp
- 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.
+ fm
- Wrapper to the IRIS Font Manager library.
- Only available on SGI machines which no longer come with IRIX.
+ imgfile
- 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.
+ jpeg
- Wrapper for JPEG (de)compressor.
- Code not uniquely edited in nine years.
- Third-party libraries provide better support
(Python Imaging Library [#pil]_).
+ sv
- Wrapper for Indigo video card.
- Harware is no longer manufactured.
- Undocumented.
- Code not uniquely edited in 13 years.
* Solaris
+ SUNAUDIODEV/sunaudiodev
- Access to the sound card on Sun machines.
- Code not uniquely edited in over eight years.
+ SUNAUDIODEV/sunaudiodev
- Access to the sound card on Sun machines.
- Code not uniquely edited in over eight years.
* Mac
+ applesingle
- Undocumented.
* AppleSingle is a binary file format for A/UX.
+ A/UX no longer distributed.
+ applesingle
- Undocumented.
- AppleSingle is a binary file format for A/UX.
- A/UX no longer distributed.
* UNIX
+ nis
- Wrapper for NIS.
* NIS has been replaced by LDAP, DNS, and Kerberos.
+ nis
- Wrapper for NIS.
- NIS has been replaced by LDAP, DNS, and Kerberos.
Minimal usage
@ -158,47 +172,68 @@ can be from how easy it is to implement the functionality from scratch
or because the audience for the code is small.
* audiodev
+ Undocumented.
+ Not edited in five years.
+ If removed sunaudio should go as well.
- Undocumented.
- Not edited in over seven years.
+ Undocumented.
+ Not edited in five years.
+ If removed sunaudio should go as well (also undocumented; not
edited in over seven years).
* fileinput
+ Basic functionality handled by ``itertools.chain``.
+ Using ``enumerate`` (for the line number in the file),
``itertools.repeat`` (for returning the filename with each
line), and ``zip`` (for connecting the ``enumerate`` object and
``itertools.repeat`` object) provides 95% of other unique
abilities of fileinput.
+ Basic functionality handled by ``itertools.chain``.
+ Using ``enumerate`` (for the line number in the file),
``itertools.repeat`` (for returning the filename with each
line), and ``zip`` (for connecting the ``enumerate`` object and
``itertools.repeat`` object) provides 95% of other unique
abilities of fileinput.
* imputil
+ Undocumented.
+ Never updated to support absolute imports.
+ Undocumented.
+ Never updated to support absolute imports.
* mutex
+ Easy to implement using a semaphore and a queue.
+ Cannot block on a lock attempt.
+ Not uniquely edited since its addition 15 years ago.
+ Easy to implement using a semaphore and a queue.
+ Cannot block on a lock attempt.
+ Not uniquely edited since its addition 15 years ago.
* repr
+ Controls output of the repr of objects.
- String slicing and string interpolation can do similar work.
+ Used by pdb, but do not need to expose API.
+ Controls output of the repr of objects.
+ String slicing and string interpolation can do similar work.
+ Used by pdb, but do not need to expose API.
* symtable/_symtable
+ Undocumented.
+ Undocumented.
* telnetlib
+ Telnet is not used very much anymore.
- Telnet is unsafe.
- Most people use SSH instead.
+ Telnet is not used very much anymore.
+ Telnet is unsafe.
+ Most people use SSH instead.
* toaiff
+ Undocumented.
+ Requires ``sox`` library to be installed on the system.
+ Undocumented.
+ Requires ``sox`` library to be installed on the system.
* user
+ Easily handled by allowing the application specify its own
module name, check for existence, and import if found.
+ Easily handled by allowing the application specify its own
module name, check for existence, and import if found.
* new
+ Just a rebinding of names from the 'types' module.
+ Can also call ``type`` built-in to get most types easily.
+ Just a rebinding of names from the 'types' module.
+ Can also call ``type`` built-in to get most types easily.
* pure
+ Written before Pure Atria was bought by Rational which was then
bought by IBM (in other words, very old).
+ Written before Pure Atria was bought by Rational which was then
bought by IBM (in other words, very old).
Obsolete
--------
@ -208,49 +243,79 @@ or a widely distributed third-party library provides a better solution
for what the module is meant for.
* base64/quopri/uu
+ Support exists in the codecs module.
+ If removed (along with binhex), also remove binascii.
- C implementation of base64, binhex, and uu modules.
+ Support exists in the codecs module.
+ If removed (along with binhex), also remove binascii
(C implementation of base64, binhex, and uu modules).
* asynchat/asyncore
+ Third-party libraries provide better solutions.
- twisted [#twisted]_
+ Deprecation previously supported [#py-dev-summary-2004-11-01]_
+ Third-party libraries provide better solutions
(twisted [#twisted]_).
+ Deprecation previously supported [#py-dev-summary-2004-11-01]_
* Bastion/rexec
+ Restricted execution / security.
+ Turned off in Python 2.3.
+ Modules deemed unsafe.
+ Restricted execution / security.
+ Turned off in Python 2.3.
+ Modules deemed unsafe.
* dl
+ ctypes provides better support for same functionality.
+ ctypes provides better support for same functionality.
* fpformat
+ All functionality is supported by string interpolation.
+ All functionality is supported by string interpolation.
* getopt
+ optparse provides better functionality.
+ optparse provides better functionality.
* ihooks
+ Documented except for saying that module might be obsolete.
+ For use with rexec which has been turned off since Python 2.3.
+ Documented except for saying that module might be obsolete.
+ For use with rexec which has been turned off since Python 2.3.
* imageop
+ Better support by third-party libraries.
- Python Imaging Library [#pil]_.
+ Better support by third-party libraries
(Python Imaging Library [#pil]_).
* linuxaudiodev
+ Replaced by ossaudiodev.
+ Replaced by ossaudiodev.
* stat
+ ``os.stat`` now returns a tuple with attributes.
+ ``os.stat`` now returns a tuple with attributes.
* statvfs
+ ``os.statvfs`` now returns a tuple with attributes.
+ ``os.statvfs`` now returns a tuple with attributes.
* strop
+ Implements functions used by 'string' module that have now
become methods on the str type.
+ Implements functions used by 'string' module that have now
become methods on the str type.
* thread
+ People should use 'threading' instead.
- Rename 'thread' to _thread.
- Deprecate dummy_thread.
* Rename to _mockthread.
* Change of name better reflects modules purpose.
+ Guido has previously supported the deprecation
[#thread-deprecation]_.
+ People should use 'threading' instead.
- Rename 'thread' to _thread.
- Deprecate dummy_thread.
* Rename to _mockthread.
* Change of name better reflects modules purpose.
+ Guido has previously supported the deprecation
[#thread-deprecation]_.
* timing
+ Use timeit or time.
+ Documentation says the module is obsolete [#timing-module]_.
+ Use timeit or time.
+ Documentation says the module is obsolete [#timing-module]_.
Modules to Rename
@ -275,71 +340,45 @@ assumption is that underscores are acceptable in module names when
they are contained within a package but that any uppercase letters is
not.
* _winreg
winreg (rename also because module has a public interface).
* autoGIL
autogil
* BaseHTTPServer
basehttpserver
* Carbon
carbon
* CGIHTTPServer
cgihttpserver
* ColorPicker
colorpicker
* ConfigParser
configparser
* Cookie
cookie
* copy_reg
copyreg
* DocXMLRPCServer
docxmlrpcserver
* dummy_threading
mockthreading (rename because "mock" makes more sense than
"dummy" and rename already required).
* EasyDialogs
easydialogs
* FrameWork
framework
* HTMLParser
htmlparser
* MacOS
macos
* MiniAEFrame
miniaeframe
* Nav
nav
* PixMapWrapper
pixmapwrapper
* py_compile
pycompile
* Queue
queue
* repr
reprlib (rename because module name shadows a built-in).
* ScrolledText
scrolledtext
* SimpleHTTPServer
simplehttpserver
* SimpleXMLRPCServer
simplexmlrpcserver
* SocketServer
socketserver
* StringIO
stringio
* Tix
tix
* Tkinter
tkinter
* UserDict
userdict
* UserList
userlist
* UserString
userstring
* W
w
================== ==================================================
Current Name Replacement Name
================== ==================================================
_winreg winreg (rename also because module has a public
interface)
autoGIL autogil
BaseHTTPServer basehttpserver
Carbon carbon
CGIHTTPServer cgihttpserver
ColorPicker colorpicker
ConfigParser configparser
Cookie cookie
copy_reg copyreg
DocXMLRPCServer docxmlrpcserver
dummy_threading mockthreading (rename because "mock" makes more
sense than "dummy" and rename already required)
EasyDialogs easydialogs
FrameWork framework
HTMLParser htmlparser
MacOS macos
MiniAEFrame miniaeframe
Nav nav
PixMapWrapper pixmapwrapper
py_compile pycompile
Queue queue
repr reprlib (rename because module name shadows a
built-in)
ScrolledText scrolledtext
SimpleHTTPServer simplehttpserver
SimpleXMLRPCServer simplexmlrpcserver
SocketServer socketserver
StringIO stringio
Tix tix
Tkinter tkinter
UserDict userdict
UserList userlist
UserString userstring
W w
================== ==================================================
Merging C and Python implementations of the same interface
@ -364,15 +403,20 @@ control of the Python development team for renaming. See `Open
Issues`_ for a discussion on this.
* pickle/cPickle
+ Rename cPickle to _pickle.
+ Semantic completeness of C implementation *not* verified.
+ Rename cPickle to _pickle.
+ Semantic completeness of C implementation *not* verified.
* profile/cProfile
+ Rename cProfile to _profile.
+ Semantic completeness of C implementation *not* verified.
+ Rename cProfile to _profile.
+ Semantic completeness of C implementation *not* verified.
* StringIO/cStringIO
+ Rename StringIO to stringio.
+ Rename cStringIO to _stringio.
+ Semantic completeness of C implementation *not* verified.
+ Rename StringIO to stringio.
+ Rename cStringIO to _stringio.
+ Semantic completeness of C implementation *not* verified.
No public, documented interface
@ -383,14 +427,15 @@ 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.
* bdb
_bdb
* markupbase
_markupbase
* opcode
_opcode
* dummythread
_mockthread (assuming the deprecation of 'thread' occurs).
============ ===============================
Current Name Replacement Name
============ ===============================
bdb _bdb
markupbase _markupbase
opcode _opcode
dummythread _mockthread (assuming the
deprecation of 'thread' occurs)
============ ===============================
Transition Plan
@ -408,7 +453,7 @@ PendingDeprecationWarning is by default silenced.
For modules to be renamed
-------------------------
Modules will be renamed in Python 2.6 . The original names of the
Modules will be renamed in Python 2.6. The original names of the
modules will still work but will raise a PendingDeprecationWarning
upon import. The refactoring tool for transitioning to Python 3.0
will refactor imports that use the new names.
@ -432,9 +477,7 @@ is also a possibility if there is enough overlap or a module is
obsolete.
* Cookie/cookielib
* urllib/urllib2
+ urlparse?
+ httplib?
* urllib/urllib2 (urlparse? httplib?)
* cgi/cgitb
* Tix/Tkinter
* getpass/pwd/spwd/grp
@ -456,48 +499,61 @@ other. For Python 3.0 obvious groupings could be done since renaming
of various modules is already occurring.
* collections
+ heapq
+ Queue
+ sets
+ UserDist
+ UserList
+ What to do with UserString?
- Have a package for Python implementations of built-in types
instead of putting the User* modules into 'collections'?
+ heapq
+ Queue
+ sets
+ UserDist
+ UserList
+ What to do with UserString?
Have a package for Python implementations of built-in types
instead of putting the User* modules into 'collections'?
* mac
+ Various Mac-specific modules.
+ Same can be done for other platform-specific code.
+ Various Mac-specific modules.
+ Same can be done for other platform-specific code.
* Profiling
+ cProfile
+ profile
+ hotshot
+ pstats
+ cProfile
+ profile
+ hotshot
+ pstats
* email
+ mailbox
+ mhlib
+ mailbox
+ mhlib
* Databases
+ anydbm
+ dbhash
+ dbm
+ bsddb
+ dumbdbm
+ gdbm
+ whichdb
+ anydbm
+ dbhash
+ dbm
+ bsddb
+ dumbdbm
+ gdbm
+ whichdb
* Audio
+ aifc
+ audioop
+ chunk
+ ossaudiodev
+ sunau
+ wave
+ winsound
+ aifc
+ audioop
+ chunk
+ ossaudiodev
+ sunau
+ wave
+ winsound
* Servers
+ BaseHTTPServer
+ CGIHTTPServer
+ DocXMLRPCServer
+ SimpleHTTPServer
+ SimpleXMLRPCServer
+ SocketServer
+ BaseHTTPServer
+ CGIHTTPServer
+ DocXMLRPCServer
+ SimpleHTTPServer
+ SimpleXMLRPCServer
+ SocketServer
Modules reliant on obsolete/rarely used file formats?
@ -508,17 +564,17 @@ possible some of these formats are no longer used and thus the stdlib
modules for them can go. Below is a list of some modules which rely
on a file format that may be obsolete.
* aifc
aifc
AIFF and AIFF-C audio files. Appears to be only user of the cl
module (which is undocumented).
* audioop
audioop
Raw (8|16|32)-bit wide audio files (as generated by the al and
sunaudiodev modules).
* binhex
binhex
binhex4 encoding.
* chunk
chunk
AIFF, AIFF-C, and RMFF audio files.
* sunau
sunau
Sun AU audio files [#sun-au]_.