diff --git a/pep-0004.txt b/pep-0004.txt index e49969bd5..53b3425b0 100644 --- a/pep-0004.txt +++ b/pep-0004.txt @@ -5,90 +5,99 @@ Last-Modified: $Date$ Author: Martin von Löwis Status: Active Type: Process +Content-Type: text/x-rst Created: 1-Oct-2000 Post-History: + Introduction +============ - When new modules were added to the standard Python library in the - past, it was not possible to foresee whether they would still be - useful in the future. Even though Python "Comes With Batteries - Included", batteries may discharge over time. Carrying old - modules around is a burden on the maintainer, especially when - there is no interest in the module anymore. +When new modules were added to the standard Python library in the +past, it was not possible to foresee whether they would still be +useful in the future. Even though Python "Comes With Batteries +Included", batteries may discharge over time. Carrying old modules +around is a burden on the maintainer, especially when there is no +interest in the module anymore. - At the same time, removing a module from the distribution is - difficult, as it is not known in general whether anybody is still - using it. This PEP defines a procedure for removing modules from - the standard Python library. Usage of a module may be - `deprecated', which means that it may be removed from a future - Python release. The rationale for deprecating a module is also - collected in this PEP. If the rationale turns out faulty, the - module may become `undeprecated'. +At the same time, removing a module from the distribution is +difficult, as it is not known in general whether anybody is still +using it. This PEP defines a procedure for removing modules from the +standard Python library. Usage of a module may be 'deprecated', which +means that it may be removed from a future Python release. The +rationale for deprecating a module is also collected in this PEP. If +the rationale turns out faulty, the module may become 'undeprecated'. Procedure for declaring a module deprecated +=========================================== - Since the status of module deprecation is recorded in this PEP, - proposals for deprecating modules MUST be made by providing a - change to the text of this PEP, which SHOULD be a patch posted to - SourceForge, or sent by mail to the author of this PEP. +Since the status of module deprecation is recorded in this PEP, +proposals for deprecating modules MUST be made by providing a change +to the text of this PEP, which SHOULD be a patch posted to +bugs.python.org. - A proposal for deprecation of the module MUST include the date of - the proposed deprecation and a rationale for deprecating it. In - addition, the proposal MUST include a change to the documentation - of the module; deprecation is indicated by saying that the module - is "obsolete" or "deprecated". The proposal MAY include a patch - for the module's source code to indicate deprecation there as - well. +A proposal for deprecation of the module MUST include the date of the +proposed deprecation and a rationale for deprecating it. In addition, +the proposal MUST include a change to the documentation of the module; +deprecation is indicated by saying that the module is "obsolete" or +"deprecated". The proposal SHOULD include a patch for the module's +source code to indicate deprecation there as well, by raising a +DeprecationWarning. The proposal MUST include patches to remove any +use of the deprecated module from the standard library. - It is expected that deprecated modules are included in the Python - releases that immediately follows the deprecation; later releases - may ship without the deprecated modules. +It is expected that deprecated modules are included in the Python +releases that immediately follows the deprecation; later releases may +ship without the deprecated modules. Procedure for declaring a module undeprecated +============================================= - When a module becomes deprecated, a rationale is given for its - deprecation. In some cases, an alternative interface for the same - functionality is provided, so the old interface is deprecated. In - other cases, the need for having the functionality of the module - may not exist anymore. +When a module becomes deprecated, a rationale is given for its +deprecation. In some cases, an alternative interface for the same +functionality is provided, so the old interface is deprecated. In +other cases, the need for having the functionality of the module may +not exist anymore. - If the rationale is faulty, again a change to this PEP's text MUST - be submitted. This change MUST include the date of undeprecation - and a rationale for undeprecation. Modules that are undeprecated - under this procedure MUST be listed in this PEP for at least one - major release of Python. +If the rationale is faulty, again a change to this PEP's text MUST be +submitted. This change MUST include the date of undeprecation and a +rationale for undeprecation. Modules that are undeprecated under this +procedure MUST be listed in this PEP for at least one major release of +Python. Obsolete modules +================ - A number of modules are already listed as obsolete in the library - documentation. These are listed here for completeness. +A number of modules are already listed as obsolete in the library +documentation. These are listed here for completeness. - cl, sv, timing + cl, sv, timing - All these modules have been declared as obsolete in Python 2.0, - some even earlier. +All these modules have been declared as obsolete in Python 2.0, some +even earlier. - The following obsolete modules were removed in Python 2.5: +The following obsolete modules were removed in Python 2.5: - addpack, cmp, cmpcache, codehack, dircmp, dump, find, fmt, - grep, lockfile, newdir, ni, packmail, Para, poly, - rand, reconvert, regex, regsub, statcache, tb, tzparse, - util, whatsound, whrandom, zmod + addpack, cmp, cmpcache, codehack, dircmp, dump, find, fmt, + grep, lockfile, newdir, ni, packmail, Para, poly, + rand, reconvert, regex, regsub, statcache, tb, tzparse, + util, whatsound, whrandom, zmod - The following modules were removed in Python 2.6: +The following modules were removed in Python 2.6: - gopherlib, rgbimg, macfs + gopherlib, rgbimg, macfs - The following modules currently lack a DeprecationWarning: +The following modules currently lack a DeprecationWarning: - rfc822, mimetools, multifile + rfc822, mimetools, multifile Deprecated modules +================== + +:: Module name: posixfile Rationale: Locking is better done by fcntl.lockf(). @@ -251,19 +260,31 @@ Deprecated modules Deprecation of modules removed in Python 3.0 +============================================ - PEP 3108 lists all modules that have been removed from Python 3.0. - They all are documented as deprecated in Python 2.6, and raise a - DeprecationWarning if the -3 flag is activated. +PEP 3108 lists all modules that have been removed from Python 3.0. +They all are documented as deprecated in Python 2.6, and raise a +DeprecationWarning if the -3 flag is activated. Undeprecated modules +==================== - None. +None. + + +Copyright +========= + +This document has been placed in the public domain. -Local Variables: -mode: indented-text -indent-tabs-mode: nil -End: +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + coding: utf-8 + End: