Skip to content

Commit c5f1db9

Browse files
authored
allow prerelease versions in marker evaluation (#523)
Fixes #522
1 parent 35c50dc commit c5f1db9

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

packaging/markers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def _eval_op(lhs: str, op: Op, rhs: str) -> bool:
192192
except InvalidSpecifier:
193193
pass
194194
else:
195-
return spec.contains(lhs)
195+
return spec.contains(lhs, prereleases=True)
196196

197197
oper: Optional[Operator] = _operators.get(op.serialize())
198198
if oper is None:

tests/test_markers.py

+5
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ def test_fails_when_undefined(self):
8686
with pytest.raises(UndefinedComparison):
8787
Marker("'2.7.0' ~= os_name").evaluate()
8888

89+
def test_allows_prerelease(self):
90+
assert Marker('python_full_version > "3.6.2"').evaluate(
91+
{"python_full_version": "3.11.0a5"}
92+
)
93+
8994

9095
FakeVersionInfo = collections.namedtuple(
9196
"FakeVersionInfo", ["major", "minor", "micro", "releaselevel", "serial"]

0 commit comments

Comments
 (0)