Skip to content

Inference of target versions from requires-python config is incorrect. #3581

@manueljacob

Description

@manueljacob

#3219 introduced inference of the target versions for black from the requires-python project metadata in pyproject.toml. However, it was not implemented correctly.

The rules for the comparison operators in requires-python is documented in PEP 440.

For example, >3.7,<3.10 currently results in the inference of ["py38", "py39"]. However, 3.7.1 is in >3.7,<3.10, so "py37" should be included as well.

>3.7.0,<3.10 results in the inference of ["py37", "py38", "py39"], which is correct. However, >3.7.0,<3.10 is equivalent to >3.7,<3.10, so they should give the same results.

I re-implemented the inference code. I will open a pull request as soon as I clarified and commented the code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    T: bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions