[Python-checkins] peps: PEP 426: trailing 0's policy for ==

daniel.holth python-checkins at python.org
Sun Mar 10 19:33:17 CET 2013


http://hg.python.org/peps/rev/ae5d9b9df1a6
changeset:   4792:ae5d9b9df1a6
user:        Daniel Holth <dholth at fastmail.fm>
date:        Sun Mar 10 14:32:53 2013 -0400
summary:
  PEP 426: trailing 0's policy for ==

files:
  pep-0426.txt |  24 +++++++++++++-----------
  1 files changed, 13 insertions(+), 11 deletions(-)


diff --git a/pep-0426.txt b/pep-0426.txt
--- a/pep-0426.txt
+++ b/pep-0426.txt
@@ -601,9 +601,11 @@
 
 .. note::
 
-   Some hard to read version identifiers are permitted by this scheme
-   in order to better accommodate the wide range of versioning practices
-   across existing public and private Python projects.
+   Some hard to read version identifiers are permitted by this scheme in
+   order to better accommodate the wide range of versioning practices
+   across existing public and private Python projects, given the
+   constraint that the package index is not yet sophisticated enough to
+   allow the introduction of a simpler, backwards-incompatible scheme.
 
    Accordingly, some of the versioning practices which are technically
    permitted by the PEP are strongly discouraged for new projects. Where
@@ -1059,17 +1061,17 @@
 The ordered comparison operators ``<``, ``>``, ``<=``, ``>=`` are based
 on the consistent ordering defined by the standard `Version scheme`_.
 
-The ``==`` and ``!=`` operators are based on string comparisons - in order
-to match, the version being checked must start with exactly that sequence of
-characters.
+The ``==`` and ``!=`` operators are based on a kind of prefix comparison -
+trailing ``0``s are implied when comparing numeric version parts of different
+lengths. ``1.0 == 1 == 1.0.0``, and ``1.0a1 == ``1.0.0.0a1``.
 
 .. note::
 
-   The use of ``==`` when defining dependencies for published distributions
-   is strongly discouraged, as it greatly complicates the deployment of
-   security fixes (the strict version comparison operator is intended
-   primarily for use when defining dependencies for particular
-   applications while using a shared distribution index).
+   The use of ``==`` when defining dependencies for published
+   distributions is strongly discouraged as it greatly complicates the
+   deployment of security fixes. The strict version comparison operator
+   is intended primarily for use when defining dependencies for repeatable
+   *deployments of applications* while using a shared distribution index.
 
 
 Handling of pre-releases

-- 
Repository URL: http://hg.python.org/peps


More information about the Python-checkins mailing list