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

Deprecated bdist_wheel and updated the README #631

Merged
merged 4 commits into from
Aug 4, 2024
Merged

Conversation

agronholm
Copy link
Contributor

This is the next step towards completely eliminating any setuptools entanglements in wheel.

@agronholm agronholm requested a review from henryiii August 4, 2024 12:37
@agronholm
Copy link
Contributor Author

@jaraco no objections from you I assume?

Copy link

codecov bot commented Aug 4, 2024

Codecov Report

Attention: Patch coverage is 54.83871% with 140 lines in your changes missing coverage. Please review.

Project coverage is 71.11%. Comparing base (78b9ea9) to head (b045a80).
Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
src/wheel/_bdist_wheel.py 54.24% 140 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #631      +/-   ##
==========================================
+ Coverage   71.03%   71.11%   +0.07%     
==========================================
  Files          13       14       +1     
  Lines        1084     1087       +3     
==========================================
+ Hits          770      773       +3     
  Misses        314      314              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@jaraco jaraco left a comment

Choose a reason for hiding this comment

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

Sounds good to me.

One thing to consider - users of a newer wheel but older setuptools will get the deprecation warning. That seems unlikely, given that those two packages are typically maintained at the same cadence. And since this version of wheel requires Python 3.8 (matching Setuptools), it won't leak into older Pythons that might require an older Setuptools.

No objections.

@agronholm agronholm merged commit 0add7d6 into main Aug 4, 2024
20 checks passed
@agronholm agronholm deleted the deprecate_bdist_wheel branch August 4, 2024 14:41
@henryiii
Copy link
Contributor

henryiii commented Aug 5, 2024

FYI, out of the box on PyPy3.8 and CPython 3.8-3.11, I'm seeing old setuptools and new wheel. Pretty sure it's happening because setuptools is pre-installed, but wheel is... not? I clearly see wheel being installed and no install of setuptools. And the failure will always show up if that's the case, because setuptools is just loading entry points when it triggers this. On PyPy 3.8, it's setuptools 58.

(I don't mind fixing the broken jobs, but something to keep in mind, especially for when this deprecation cycle is over.)

/opt/hostedtoolcache/PyPy/3.9.19/x64/lib/pypy3.9/distutils/dist.py:539: in _parse_command_opts
    cmd_class = self.get_command_class(command)
        Command    = <class 'distutils.cmd.Command'>
        args       = ['bdist_wheel', '--dist-dir', '/tmp/pytest-of-runner/pytest-0/test_pep517_wheel4/pkg/dist/tmppjs__2i1']
        command    = 'bdist_wheel'
        parser     = <distutils.fancy_getopt.FancyGetopt object at 0x000000000a243b08>
        self       = <setuptools.dist.Distribution object at 0x000000000aabe918>
/opt/hostedtoolcache/PyPy/3.9.19/x64/lib/pypy3.9/site-packages/setuptools/dist.py:887: in get_command_class
    self.cmdclass[command] = cmdclass = ep.load()
        command    = 'bdist_wheel'
        ep         = EntryPoint.parse('bdist_wheel = wheel.bdist_wheel:bdist_wheel')
        eps        = <generator object WorkingSet.iter_entry_points.<locals>.<genexpr> at 0x000000000b22a6e0>
        self       = <setuptools.dist.Distribution object at 0x000000000aabe918>
/opt/hostedtoolcache/PyPy/3.9.19/x64/lib/pypy3.9/site-packages/pkg_resources/__init__.py:2450: in load
    return self.resolve()
        args       = ()
        kwargs     = {}
        require    = True
        self       = EntryPoint.parse('bdist_wheel = wheel.bdist_wheel:bdist_wheel')
/opt/hostedtoolcache/PyPy/3.9.19/x64/lib/pypy3.9/site-packages/pkg_resources/__init__.py:2456: in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
        self       = EntryPoint.parse('bdist_wheel = wheel.bdist_wheel:bdist_wheel')

abravalheri added a commit to pypa/setuptools that referenced this pull request Aug 13, 2024
Prevent accidental warning from deprecated entrypoint in `pypa/wheel#631`
SomberNight added a commit to spesmilo/electrum-ecc that referenced this pull request Nov 18, 2024
…ols'

The `bdist_wheel` module was moved from the "wheel" pkg to the "setuptools" package.
This means we need either an old version of wheel or a new version of setuptools.

fixes #3

ref pypa/wheel#631
ref pypa/setuptools#4369
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants