conda-forge / conda-forge.github.io

The conda-forge website.
https://conda-forge.org
BSD 3-Clause "New" or "Revised" License
127 stars 274 forks source link

dropping `setuptools` and `wheel` deps from `pip` #2252

Open beckermr opened 1 month ago

beckermr commented 1 month ago

In the new packaging scheme for python, pip no longer has setuptools and wheel as dependencies. Many of conda-forge's recipes rely on this transitive dependence (roughly ~20% according to this comment). Further, external users of pip also rely on this currently (see, e.g., pytorch). We'd like to move away from this in order to treat setuptools and wheel more consistently with respect to other build backends like flit, hatchling, etc.

To do this, we have arrived at the following transition plan, pulled from the original issue:

cc @conda-forge/pip @conda-forge/core for comments

closes https://github.com/conda-forge/pip-feedstock/issues/124

isuruf commented 1 month ago

I think we should make a pip package that drops wheel and setuptools for python>=3.13, but keep them for python<3.13 at the beginning. Then drop wheel and setuptools for python<3.13 after the 3.13 migrator is done.

beckermr commented 1 month ago

I think we should make a pip package that drops wheel and setuptools for python>=3.13, but keep them for python<3.13 at the beginning. Then drop wheel and setuptools for python<3.13 after the 3.13 migrator is done.

SGTM! I have adjusted the text above.

theAeon commented 2 weeks ago

There wouldn't happen to be a way to silence the linter on this issue? https://github.com/conda-forge/pdm-backend-feedstock/ is its own build backend and as such works fine absent setuptools/wheel but still trips the warning on every PR.

beckermr commented 2 weeks ago

We can add an allow list in the linter.

theAeon commented 2 weeks ago

That would be amazing.