On Dec 27, 2009, at 8:02 PM, Tarek Ziadé wrote:
On Mon, Dec 28, 2009 at 1:48 AM, Antoine Pitrou firstname.lastname@example.org wrote:
Tarek Ziadé <ziade.tarek <at> gmail.com> writes:
This was ambiguous because it was unclear, as MvL stated, if "2.5" was just "2.5.0" or included versions like "2.5.1" or "2.5.2".
How about having "2.5" match all 2.5.x versions, and "2.5.0" match only 2.5 itself? (ditto for "2.5.N" matching only 2.5.N for N >= 1)
This "~=" operator looks murkier than it needs to be IMO.
An implicit range operator is simpler indeed, and achieves the same goal.
Meaning that "<=2.5" for example, will be translated to "<=2.5.x" as well.
It seems to me that all this version range talk relates pretty directly to PEP 386.
The Python version numbers themselves are the simplest type of "Normalized Version"s, and since comparisons of "NormalizedVersion"s are defined in PEP 386, and that's really all we're talking about here, shouldn't this really just follow and reference that document?
Sure we might like some sugar to make expressing ranges simpler, but shouldn't the explicit meanings of any rules be stated in terms of Normalized Version comparisons?