More updates based on talking with Guido. Big ones are renaming the proposed tk

package to tkinter, and the proposed url package to urllib.
This commit is contained in:
Brett Cannon 2008-04-29 00:27:49 +00:00
parent 7eb4f5ec81
commit 593532786b
1 changed files with 165 additions and 164 deletions

View File

@ -55,8 +55,6 @@ The procedure to thoroughly remove a module is:
#. Remove the module.
#. Remove the tests.
#. Edit ``Modules/Setup.dist`` and ``setup.py`` if needed.
#. Change all imports of the removed module in the standard
library to the new name (if applicable).
#. Remove the docs (if applicable).
#. Run the regression test suite (using ``-uall``); watch out for
tests that are skipped because an import failed for the removed
@ -66,18 +64,6 @@ If a deprecation warning is added to 2.6, it would be better to make
all the changes to 2.6, merge the changes into the 3k branch, then
perform the procedure above. This will avoid some merge conflicts.
In certain cases, a removed module might be used by enough people
that it is worth making the code available on PyPI_. In those cases
the code will be ported to 3.0, moved outside of Python 3.0's trunk,
and then put up on PyPI. In such cases the code is not expected to be
maintained beyond the discretion of any core developer.
If a module that is removed is used by a module that is staying,
then the module to remove will have its documentation removed and be
renamed to signify it has no public API.
.. _PyPI: http://pypi.python.org/
Previously deprecated
---------------------
@ -130,7 +116,11 @@ their maintenance.
The module mentioned below are documented. All undocumented modules
for the specified platforms will also be removed.
* IRIX (which is no longer produced [#irix-retirement]_)
IRIX
/////
The IRIX operating system is no longer produced [#irix-retirement]_.
Removing all modules from the plat-irix directory has been deemed
reasonable because of this fact.
+ AL/al [done: 3.0]
@ -180,10 +170,122 @@ for the specified platforms will also be removed.
- Wrapper for JPEG (de)compressor.
- Code not uniquely edited in nine years.
- Third-party libraries provide better support
(Python Imaging Library [#pil]_).
(Python Imaging Library [#pil]_).
Mac-specific modules
////////////////////
The Mac-specific modules are mostly unmaintained (e.g., the bgen
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.
* 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.
* autoGIL
- Very bad model for using Python with the CFRunLoop.
* 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.
* ColorPicker
- Better to use Cocoa for GUIs.
* EasyDialogs
- Better to use Cocoa for GUIs.
* 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.
* PixMapWrapper
- Undocumented.
* videoreader
- No longer used.
* W
- No longer distributed with Python.
* Solaris
.. _PyObjC: http://pyobjc.sourceforge.net/
Solaris
///////
+ SUNAUDIODEV/sunaudiodev [done: 3.0]
@ -319,11 +421,6 @@ for what the module is meant for.
- rgbimg was removed in Python 2.6.
- imgfile slated for removal in this PEP. [done: 3.0]
* linecache
+ Negligible use.
+ Easily replicated.
* linuxaudiodev [done: 3.0]
+ Replaced by ossaudiodev.
@ -370,7 +467,8 @@ for what the module is meant for.
* urllib
+ Superceded by urllib2.
+ Functionality unique to urllib will be kept in the `url package`_.
+ Functionality unique to urllib will be kept in the
`urllib package`_.
* UserDict [done: 3.0]
@ -382,114 +480,6 @@ for what the module is meant for.
+ Not useful since types can be a superclass.
Mac-specific modules
////////////////////
The Mac-specific modules are mostly unmaintained (e.g., the bgen
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.
* 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.
* autoGIL
- Very bad model for using Python with the CFRunLoop.
* 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.
* ColorPicker
- Better to use Cocoa for GUIs.
* EasyDialogs
- Better to use Cocoa for GUIs.
* 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.
* PixMapWrapper
- Undocumented.
* videoreader
- No longer used.
* W
- No longer distributed with Python.
.. _PyObjC: http://pyobjc.sourceforge.net/
Modules to Rename
=================
@ -499,9 +489,6 @@ the stdlib before PEP 8 came into existence [#pep-0008]_. This has
led to some naming inconsistencies and namespace bloat that should be
addressed.
Any module that has been suggested for removal and does not meet the
required naming scheme is *not* listed below.
PEP 8 violations
----------------
@ -654,53 +641,58 @@ cookielib http.cookiejar
safely as they have no naming conflicts.
tk package
//////////
tkinter package
///////////////
================== ===============================
Current Name Replacement Name
================== ===============================
Canvas tk.canvas
Dialog tk.dialog
FileDialog tk.filedialog [4]_
FixTk tk._fix
ScrolledText tk.scrolledtext
SimpleDialog tk.simpledialog [5]_
Tix tk.tix
Tkconstants tk.constants
Tkdnd tk.dnd
Tkinter tk.inter
tkColorChooser tk.colorchooser
tkCommonDialog tk.commondialog
tkFileDialog tk.filedialog [4]_
tkFont tk.font
tkMessageBox tk.messagebox
tkSimpleDialog tk.simpledialog [5]_
turtle tk.turtle
Canvas tkinter.canvas
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
================== ===============================
.. [4] ``tk.filedialog`` can safely combine ``FileDialog`` and
.. [4] ``tkinter.filedialog`` can safely combine ``FileDialog`` and
``tkFileDialog`` as there are no naming conflicts.
.. [5] ``tk.simpledialog`` can safely combine ``SimpleDialog`` and
``tkSimpleDialog`` have no naming conflicts.
.. [5] ``tkinter.simpledialog`` can safely combine ``SimpleDialog``
and ``tkSimpleDialog`` have no naming conflicts.
url package
///////////
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.
================== ===============================
Current Name Replacement Name
================== ===============================
urllib2 url.request
urlparse url.parse
urllib url.parse, url.request [6]_
urllib2 urllib.request
urlparse urllib.parse
urllib urllib.parse, urllib.request [6]_
================== ===============================
.. [6] The quoting-related functions from ``urllib`` will be added
to ``url.parse``. ``urllib.URLOpener`` and ``FancyUrlOpener``
will be added to ``url.request`` as long as the documentation
for both modules is updated.
to ``urllib.parse``. ``urllib.URLOpener`` and
``urllib.FancyUrlOpener`` will be added to ``urllib.request``
as long as the documentation for both modules is updated.
xmlrpc package
@ -787,6 +779,10 @@ Modules that were originally suggested for removal
* fileinput
+ Useful when having to work with stdin.
* linecache
+ Used internally in several places.
* nis
@ -796,6 +792,11 @@ Modules that were originally suggested for removal
* getopt
+ Simpler than optparse.
* repr
+ Useful as a basis for overriding.
+ Used internally.
* telnetlib