File tree 2 files changed +15
-2
lines changed
2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change 15
15
from poetry .core .packages .dependency_group import MAIN_GROUP
16
16
from poetry .core .packages .specification import PackageSpecification
17
17
from poetry .core .packages .utils .utils import create_nested_marker
18
+ from poetry .core .packages .utils .utils import get_python_constraint_from_marker
18
19
from poetry .core .semver .helpers import parse_constraint
19
20
from poetry .core .version .markers import parse_marker
20
21
@@ -255,10 +256,11 @@ def python_versions(self) -> str:
255
256
@python_versions .setter
256
257
def python_versions (self , value : str ) -> None :
257
258
self ._python_versions = value
258
- self . _python_constraint = parse_constraint (value )
259
+ constraint = parse_constraint (value )
259
260
self ._python_marker = parse_marker (
260
- create_nested_marker ("python_version" , self . _python_constraint )
261
+ create_nested_marker ("python_version" , constraint )
261
262
)
263
+ self ._python_constraint = get_python_constraint_from_marker (self ._python_marker )
262
264
263
265
@property
264
266
def python_constraint (self ) -> VersionConstraint :
Original file line number Diff line number Diff line change @@ -527,3 +527,14 @@ def test_package_pep592_yanked(
527
527
528
528
assert package .yanked == expected_yanked
529
529
assert package .yanked_reason == expected_yanked_reason
530
+
531
+
532
+ def test_python_versions_are_normalized () -> None :
533
+ package = Package ("foo" , "1.2.3" )
534
+ package .python_versions = ">3.6,<=3.10"
535
+
536
+ assert (
537
+ str (package .python_marker )
538
+ == 'python_version > "3.6" and python_version <= "3.10"'
539
+ )
540
+ assert str (package .python_constraint ) == ">=3.7,<3.11"
You can’t perform that action at this time.
0 commit comments