On Tue, Feb 26, 2013 at 11:23 PM, Donald Stufft <donald.stu...@gmail.com> wrote: > On Tuesday, February 26, 2013 at 8:17 AM, Nick Coghlan wrote: > > I *don't* like the idea of (== 1.3) and (== 1.3.0) being equivalent > when (1.3) and (1.3.0) are substantially different, though. Instead, > I'll reinstate a variant of the commentary from PEP 386 that pointed > out the value of always publishing releases with a consistent number > of components by including the trailing ".0". > > I think it makes absolute sense. These aren't strings they are version > numbers. > > 1.0 == 1.00 == 1.00 == 1.000, adding more zeros doesn't change the > semantics.
The number of components matters, precisely in the "significant digits" sense that Chris mentions. In a compatible release clause, 1.3 is a declaration of compatibility with everything less than 2.0, whereas 1.3.0 limits the compatibility to versions less than 1.4.0 If 1.3 and 1.3.0 mean different things in that context (as they should), I'm *not* going to approve a standard that makes them the same when you stick an "==" sign in front of them. Remember, part of the goals of both PEP 386 and PEP 426 is to tighten up cases where setuptools is considered too permissive, because it's guessing in the face of ambiguity. "Trailing zeroes should be considered implied" when comparing versions is one such guess. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig