packaging
packaging copied to clipboard
Permit `contains` calls to Specifier[Set] to use arbitrary strings
The following should not raise an InvalidVersion
exception, and should return False
instead.
❯ python -c 'from packaging.specifiers import SpecifierSet; print(SpecifierSet("===foobar", prereleases=True).contains("foobar"))'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/pradyunsg/Developer/github/packaging/src/packaging/specifiers.py", line 927, in contains
item = Version(item)
^^^^^^^^^^^^^
File "/Users/pradyunsg/Developer/github/packaging/src/packaging/version.py", line 200, in __init__
raise InvalidVersion(f"Invalid version: '{version}'")
packaging.version.InvalidVersion: Invalid version: 'foobar'