Skip to content

Consider yanking Pex <= 2.0.3 #2912

@jsirois

Description

@jsirois

Pex 2.1.0 from Dec 28, 2019 was the 1st Pex PyPI release to use Requires-Python metadata and it included an upper bound from the get-go; namely >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.9. The discussion in https://discuss.python.org/t/requires-python-upper-limits/12663 points out the problems of not always using upper bounds - namely a resolver might backtrack past all versions that do specify an upper bound to arrive at a very old version with none and use that, which is almost surely the wrong answer. Since Python insists on breaking stdlib APIs Pex relies on often enough, I do not wish to abandon upper bounds while Pex is still in active maintenance mode. That said, the backtracking problem is real; so one way to fix it would be to yank all Pex versions older than 2.1.0 (2.0.3 and older). Yanking is specified in https://peps.python.org/pep-0592/ and appears to fit the bill well here. Anyone pinning to Pex 2.0.3 or older still gets that version, but, otherwise, they get newer Pex. Since Pex never breaks backwards compatibility - this works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugtech-debtIssue that addresses technical debt.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions