[Python-Dev] Proposing PEP 345 : Metadata for Python Software Packages 1.2

MRAB python at mrabarnett.plus.com
Mon Dec 28 03:03:05 CET 2009


Arfrever Frehtes Taifersar Arahesis wrote:
> 2009-12-28 02:17:22 Ben Finney napisał(a):
>> Tarek Ziadé <ziade.tarek at gmail.com> writes:
>>
>>> On Mon, Dec 28, 2009 at 1:41 AM, Sridhar Ratnakumar
>>> <sridharr at activestate.com> wrote:
>>>> 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"
>> This is totally counter to conventional comparisons, and is an excellent
>> example of why the equivalence of ‘3’ to ‘>=3, <4’ is a bad idea.
>>
>> Instead, the default should be ‘==’. That is, ‘Requires-Python: 3’
>> should be equivalent to ‘Requires-Python: ==3’; and only “3” or “3.0” or
>> “3.0.0” etc. will match. I maintain that is what most people will expect
>> on seeing that syntax.
>>
>> If a less strict range is desired, the existing comparison operators
>> ‘>’, ‘>=’, ‘<’, ‘<=’ are sufficient, more obvious, and more explicit. In
>> other words, to get the meaning you desire above, the existing operators
>> can be used: ‘Requires-Python: >=3, <4’.
> 
> IMHO 'Requires-Python: 3*' (or '3.*') would be better than 'Requires-Python: >=3, <4'.
> 
'3.*' would be the better of the two.


More information about the Python-Dev mailing list