-
Notifications
You must be signed in to change notification settings - Fork 3.2k
PEP 517 only #13602
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
base: main
Are you sure you want to change the base?
PEP 517 only #13602
Conversation
794a9eb
to
b9733f3
Compare
b9733f3
to
b490e48
Compare
We remove - legacy metadata preparation - legacy wheel build (bdist_wheel) - --global-option and --build-option - --no-use-pep517 - and therefore all setuptools shims --use-pep517 stays as a no-op This commits removes some tests that become irrelevant, but just the minimum so mypy is happy.
This option is now always on, so need to test it.
This option is gone.
Some unit test need to run metadata preparation for setuptools based test projects.
Because pip now uses flit_core as build backend.
Most tests use setup.py-based test packages, and we want to avoid network access for building them.
b490e48
to
32ec3f0
Compare
04bee4e
to
0befe7d
Compare
In terms of availability, I should have some (although not a lot!) time to review starting in mid-late October. If you want to wait for reviews (since this is a major change), then you may want to take that into consideration. Otherwise, it will depend on whether Paul, Pradyun or Damian have any time for reviews. Anyway, thank you a lot for working on this! |
Since there is no 'setup.py develop' fallback anymore, this check needs to be updated, and also needs to run when not using build isolation.
0befe7d
to
3b2bc9e
Compare
I will try and add my review before 25.3, although this is really outside my wheelhouse (pun intended), so I'll only really be reviewing code quality and doing some smoke tests, I assume there aren't many design choices here, but if there are I won't be able to add much useful input. |
Thanks @ichard26 and @notatallshaw ! I'll also try to make some time to review other 25.3 PRs in the coming 2 weeks. Regarding this PR, there were not any design decisions left to do. So it's a big diff but it's straightforward removal of all non-pep517 code paths. The code base was already prepared for that thanks to the work we progressively did over the last (10?) years - kudos to everyone involved, by the way! The vast majority of the changes to the test suite is adding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've done a light reading, tried to find edge case issues, and I've run a bunch of smoke tests, and it all looks good to me.
Thanks for this @notatallshaw. I still need to update the documentation. |
@sbidoul I am slowly reviewing this PR. I expect to be done in a few days. A few notes though:
Footnotes
|
@ichard26 thanks!
Did this PR do that? I don't immediately see it. If not I'd rather do that in another PR.
Me neither. I had the same reasoning as you, plus I did not want to mix a huge refactor of the test suite in this PR so it remains feasible to review that the tests did not change what they intended to test. |
@sbidoul, actually I double checked and it appears that |
closes #6334
closes #11457
closes #11859
This is the big one - it does not make much sense to split in smaller PRs.
--use-pep517
always on--no-use-pep517
removed (error if used)--global-option
and--build-option
removed (error if used)setup.py develop
) removedsetup.py bdist_wheel
) removedsetup.py egg_info
) removedThere is still a lot to do in the test suite, but it looks like it will mostly be adding--no-build-isolation
to many tests, in order to use the locally installed setuptools. I'm opening as draft nevertheless in case there are any suggestions.I tried to split in small commits that should be relatively easy to review.
Documentation update will follow.