PEP 411: incorporated comments from pydev discussions

This commit is contained in:
Eli Bendersky 2012-02-29 21:44:39 +02:00
parent 1c97a4495b
commit e413ea93b1
1 changed files with 31 additions and 13 deletions

View File

@ -39,10 +39,10 @@ package's API is optimal, the package can be included and marked as
"provisional". "provisional".
In the next minor release, the package may either be "graduated" into a normal In the next minor release, the package may either be "graduated" into a normal
"stable" state in the standard library, or be rejected and removed entirely "stable" state in the standard library, remain in provisional state, or be
from the Python source tree. If the package ends up graduating into the rejected and removed entirely from the Python source tree. If the package ends
stable state after being provisional for a minor release, its API may be up graduating into the stable state after being provisional, its API may
changed according to accumulated feedback. The core development team be changed according to accumulated feedback. The core development team
explicitly makes no guarantees about API stability and backward compatibility explicitly makes no guarantees about API stability and backward compatibility
of provisional packages. of provisional packages.
@ -50,19 +50,37 @@ of provisional packages.
Marking a package provisional Marking a package provisional
----------------------------- -----------------------------
A package will be marked provisional by including the following paragraph as A package will be marked provisional by a notice in its documentation page and
a note at the top of its documentation page: its docstring. The following paragraph will be added as a note at the top of
the documentation page:
The <X> package has been included in the standard library on a The <X> package has been included in the standard library on a
provisional basis. While major changes are not anticipated, as long as provisional basis. Backwards incompatible changes (up to and including
this notice remains in place, backwards incompatible changes are removal of the package) may occur if deemed necessary by the core
permitted if deemed necessary by the standard library developers. Such developers.
changes will not be made gratuitously - they will occur only if
serious API flaws are uncovered that were missed prior to inclusion of The phrase "provisional basis" will then be a link to the glossary term
the package. "provisional package", defined as:
A provisional package is one which has been deliberately excluded from the
standard library's normal backwards compatibility guarantees. While major
changes to such packages are not expected, as long as they are marked
provisional, backwards incompatible changes (up to and including removal of
the package) may occur if deemed necessary by core developers. Such changes
will not be made gratuitously - they will occur only if serious flaws are
uncovered that were missed prior to the inclusion of the package.
This process allows the standard library to continue to evolve over time,
without locking in problematic design errors for extended periods of time.
See PEP 411 for more details.
The following will be added to the start of the packages's docstring:
The API of this package is currently provisional. Refer to the
documentation for details.
Moving a package from the provisional to the stable state simply implies Moving a package from the provisional to the stable state simply implies
removing this note from its documentation page. removing these notes from its documentation page and docstring.
Which packages should go through the provisional state Which packages should go through the provisional state