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â.
means python versions 1,2 or 3.
means requires python 3 only. Any version of 3
Requires-Python: 3.0, 3.1
means only 3.0 and 3.1
Requires-Python: 2.3, 2.4, 2.5, 2.6
That means, those particular versions.
A user can still try to install on other versions. But they would get a warning and would do so at their own risk.
There's no need for extra operator characters as far as I can see. The comma method proposed originally seemed to do everything.