On Mon, 28 Dec 2009 23:21:54 +0000 (UTC), Antoine Pitrou

Requires-Python: 2.5:2.7

Why not drop ranges as well as operators and simply use commas? The above would be rewritten as:

Requires-Python: 2.5, 2.6, 2.7

Firstly, I find your notation proposition to be entirely workable and rational. Len threw in the range notation as a kind of novel idea, but the more I use it, the more that I think it is applicable in this use case. Packages and the interpretor version is about ranges. The choice (for the packager) comes down to either one particular python version (2, 2.x, or 3, or 3.x), or a range of python versions, or a set. There's no reason that I can see why we could not have both, that is a set and a range as Len has suggested. Whether the delineation is with commas or spaces is, to me, is minor.

You might argue that if you want to include 8 versions of Python this makes the notation slightly longer, but who tests their package with 8 different versions of Python?

You're right. The set notation is more obtuse. But with your notation, I hope there would be no problem. For instance:

Requires-Python: 2, 3

To me that would cover all 8 versions. As for the testing thing, well that's the cpan debate.. another thread.

(and if you don't test exhaustively, just use the "2.5+" notation)

Exactly. David