Skip to content

Instantly share code, notes, and snippets.

@indivisible
Created May 3, 2017 18:32
Show Gist options
  • Save indivisible/5f70480df776f48907218006278da5af to your computer and use it in GitHub Desktop.
Save indivisible/5f70480df776f48907218006278da5af to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
from pip._vendor import packaging
from packaging.specifiers import SpecifierSet
tests_good = [
'0.99999999',
'0.999999999',
'1.0b9',
'1.0b10',
'1.0',
]
tests_bad = [
'0.9999999',
'1.0b8',
]
def test_ver(spec, ver):
ss = SpecifierSet(spec)
return ver in ss
def test_versions(spec, versions):
for v in versions:
print ('%r: %r' % (v, test_ver(spec, v)))
test_versions('>=0.99999999pre,!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8', tests_good + tests_bad)
print ()
test_versions('>=0.99999999,!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8', tests_good + tests_bad)
'0.99999999': True
'0.999999999': True
'1.0b9': True
'1.0b10': True
'1.0': True
'0.9999999': False
'1.0b8': False
'0.99999999': True
'0.999999999': True
'1.0b9': False
'1.0b10': False
'1.0': True
'0.9999999': False
'1.0b8': False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment