On 12/27/2009 5:21 PM, MRAB wrote:
Tarek Ziadé wrote:
On Mon, Dec 28, 2009 at 1:41 AM, Sridhar Ratnakumar <sridharr@activestate.com> wrote: [..]
Tarek,
I am a bit confused at the current proposal combined with the newly introduced range operator.
Would "Requires-Python: <=2.5" include 2.5.4 or not?
<=2.5 means any version that is inferior or equal to 2.5.0 so 2.5.4 doesn't match
Also, "Requires-Python: 3" would include all 3.X versions, correct?
Correct, because, "Requires-Python: 3" is equivalent to "Requires-Python: ~= 3" which is equivalent to "Requires-Python: 3.x.x"
To me it's non-intuitive that "<=2.5" means <=2.5.0 but "2.5" means 2.5.x; it's not consistent, explicit is better than implicit, etc.
Yes. When we talk about Python-2.5 (as in, for instance, "this script requires Python 2.5 to run"), we are referring to 2.5.x, and not just 2.5.0.
I'd prefer it if omission means "don't care", so "2" means 2.x.y and "2.5" means 2.5.x.
+1. On 12/27/2009 4:37 PM, Tarek Ziadé wrote:
As discussed in Distutils-SIG, 2.5 is not strictly equal to 2.5.2. That's exactly why we introduced the range operator. So one may make a clear distinction between "2.5.x" and "2.5".
Perhaps if "2.5" was instead considered to be a *range* of possible versions (2.5.0, ... 2.5.4), then this ambiguity wouldn't have arisen in first place? Technically (Include/patchlevel.h), it is "2.5.0", not "2.5". -srid