Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop mentioning wheel in the context of PEP 517 #3056

Merged
merged 2 commits into from
Jan 28, 2022

Conversation

webknjaz
Copy link
Member

@webknjaz webknjaz commented Jan 27, 2022

Summary of changes

This dependency is exposed automatically by setuptools and the users do not need to declare it explicitly — it will be installed by PEP 517 front-ends automatically when building wheels.

Pull Request Checklist

This dependency is exposed automatically by setuptools and the users
do not need to declare it explicitly — it will be installed by
PEP 517 front-ends automatically, when building wheels.
Copy link
Contributor

@abravalheri abravalheri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much @webknjaz, that is a good catch...

It also makes easy to transition if at any point in the future setuptools decide to vendor bdist_wheel to better comply with the non-circular requirements of PEP 517.

@jaraco jaraco merged commit d3124ac into pypa:main Jan 28, 2022
webknjaz added a commit to webknjaz/setuptools_scm that referenced this pull request Feb 21, 2022
This is a known misconception that it's necessary. It's actually been
automatically exposed by `setuptools.build_meta` since it got
introduced.

Ref: pypa/setuptools#3056.
openstack-mirroring pushed a commit to openstack/openstack that referenced this pull request Mar 22, 2022
* Update pbr from branch 'master'
  to 064ee4523d62a99e7035f0b2c4ed117c9ac3a107
  - Merge "Drop wheel from pyproject.toml examples"
  - Drop wheel from pyproject.toml examples
    
    Per pypa/setuptools#3056 the addition of
    wheel in build_system.requires is redundant since SetupTools already
    drags it in anyway. Simplify our recommendations accordingly.
    
    Change-Id: I0359ed11a6f0c54dc1af6a7f5f34e49476c58fb0
openstack-mirroring pushed a commit to openstack/pbr that referenced this pull request Mar 22, 2022
Per pypa/setuptools#3056 the addition of
wheel in build_system.requires is redundant since SetupTools already
drags it in anyway. Simplify our recommendations accordingly.

Change-Id: I0359ed11a6f0c54dc1af6a7f5f34e49476c58fb0
webknjaz added a commit to webknjaz/pip that referenced this pull request Dec 23, 2023
PEP 517 doesn't mandate depending on `wheel` when a `__legacy__` setuptools
fallback is used. Historically, it used to be assumed as necessary, but
later it turned out to be wrong. The reason is that `setuptools`'
`get_requires_for_build_wheel()` hook already injects this dependency when
building wheels is requested [[1]]. It also used to have this hint in
the docs, but it was corrected earlier [[2]].

It could be argued that this is an optimization as `pip` will request
building wheels anyway. However, it also shows up in the docs, giving
the readers a wrong impression of what to put into
`[build-system].requires` when they start a new project using setuptools.

This patch removes `wheel` from said `requires` list fallback in the
docs and the actual runtime.

[1]: https://github.com/pypa/setuptools/blob/v40.8.0/setuptools/build_meta.py#L130
[2]: pypa/setuptools#3056
webknjaz added a commit to webknjaz/build that referenced this pull request Dec 23, 2023
PEP 517 doesn't mandate depending on `wheel` when a `__legacy__`
setuptools fallback is used. Historically, it used to be assumed as
necessary, but later it turned out to be wrong. The reason is that
`setuptools`' `get_requires_for_build_wheel()` hook already injects
this dependency when building wheels is requested [[1]].
It also used to have this hint in the docs, but it was corrected
earlier [[2]].

This patch removes `wheel` from said `requires` list fallback.

[1]: https://github.com/pypa/setuptools/blob/v40.8.0/setuptools/build_meta.py#L130
[2]: pypa/setuptools#3056
webknjaz added a commit to webknjaz/build that referenced this pull request Dec 23, 2023
PEP 517 doesn't mandate depending on `wheel` when a `__legacy__`
setuptools fallback is used. Historically, it used to be assumed as
necessary, but later it turned out to be wrong. The reason is that
`setuptools`' `get_requires_for_build_wheel()` hook already injects
this dependency when building wheels is requested [[1]].
It also used to have this hint in the docs, but it was corrected
earlier [[2]].

This patch removes `wheel` from said `requires` list fallback.

[1]: https://github.com/pypa/setuptools/blob/v40.8.0/setuptools/build_meta.py#L130
[2]: pypa/setuptools#3056
layday pushed a commit to webknjaz/build that referenced this pull request Jan 17, 2024
PEP 517 doesn't mandate depending on `wheel` when a `__legacy__`
setuptools fallback is used. Historically, it used to be assumed as
necessary, but later it turned out to be wrong. The reason is that
`setuptools`' `get_requires_for_build_wheel()` hook already injects
this dependency when building wheels is requested [[1]].
It also used to have this hint in the docs, but it was corrected
earlier [[2]].

This patch removes `wheel` from said `requires` list fallback.

[1]: https://github.com/pypa/setuptools/blob/v40.8.0/setuptools/build_meta.py#L130
[2]: pypa/setuptools#3056
henryiii pushed a commit to pypa/build that referenced this pull request Jan 17, 2024
PEP 517 doesn't mandate depending on `wheel` when a `__legacy__`
setuptools fallback is used. Historically, it used to be assumed as
necessary, but later it turned out to be wrong. The reason is that
`setuptools`' `get_requires_for_build_wheel()` hook already injects
this dependency when building wheels is requested [[1]].
It also used to have this hint in the docs, but it was corrected
earlier [[2]].

This patch removes `wheel` from said `requires` list fallback.

[1]: https://github.com/pypa/setuptools/blob/v40.8.0/setuptools/build_meta.py#L130
[2]: pypa/setuptools#3056
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants