Should we permit `.*` with more comparision operators in version specifiers?

Only 3 failures are directly related to this topic. And at least one of them is caused by sedding typing-extensions==4.2.* to typing-extensions>=4.2.* by the Fedora packager.

I disagree that “ignore the .*” is obvious semantics for the > and < case.

>= 1.0.* could reasonably be interpreted as “greater than or equal to any version with major.minor == 1.0”, and all versions that are “greater than or equal to any version with major.minor == 1.0” are also “greater than or equal to 1.0”, so that is equivalent to >= 1.0, indeed.

But > 1.0.* could reasonably be interpreted as “greater than any version with major.minor == 1.0”, and that’s not the same thing as “greater than 1.0” , because 1.0.42 is greater than 1.0, but not “greater than any version with major.minor == 1.0”, because it is a version with major.minor == 1.0.

Or more succinctly: if > 1.0.* means “greater than any version with major.minor == 1.0”, that’s equivalent to >= 1.1

2 Likes