Skip to content

Require minimum pip version #11118

@ax3l

Description

@ax3l

What's the problem this feature will solve?

Pip continues to ship breaking changes. That is fine, it's great that it moves forward as a project, but we need some control to which pip versions downstream projects support without manual steps for our users.

For instance, in pip 22.1 the following breaking changes came in:

  • in-tree-build is now the default, the option was dropped
    • a better approach would have been to keep the option and just warn that it is the default now
    • everyone that transitioned already, as pip recommended, and uses pip programmatically with that option errors out now with:
option --use-feature: invalid choice: 'in-tree-build' (choose from '2020-resolver', 'fast-deps')
  • --no-build-isolation breaks if build dependencies are not installed
    • was always documented but not done that way
    • there is no way I can find to only install build dependencies from pyproject.toml

In order to not break CI and user workflows uncontrollably on release days of pip, we need a way to express the supported pip range, e.g., in pyproject.toml #4145

Describe the solution you'd like

Let projects somewhere declare the working pip versions, so we have a chance to adopt to the breaking changes.

Alternative Solutions

I currently only have a way forward, documenting all my users to always use the latest pip because I use pip embedded in complex build scripts.

I probably can try to transition complex build logic away from pip and use build and packaging once they are mature?

Additional context

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions