-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Use flit-core
to build pip distributions
#13473
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?
Conversation
73c1394
to
dc6553e
Compare
flit-core
to build pip distributions
a4deea0
to
5f97a96
Compare
|
+1 from me |
A couple of minor points here.
Footnotes
|
+1 assuming that downstream is OK with it. This also reduces the time it takes to build pip from source (1.6s to 1s, locally with flit/setuptools cached via |
Co-authored-by: Richard Si <[email protected]>
FWIW, the next session for building release artifacts does so in a clean temporary working checkout: Line 345 in 4bb2bcb
|
b998dca
to
324e84f
Compare
flit-core
to build pip distributionsflit-core
to build pip distributions
Somehow I've got all tests passing without too much difficulty and there is general positive feedback, so I am removing PoC and draft status from PR. I do think this PR should be open for at least a couple of weeks to get maintainer feedback or anyone else watching pip closely. |
I compared 1 the generated wheel in this PR and main, and the difference that stands out is the various LICENCE files that are added in Otherwise this looks good and I'm ok with the change to flit-core. Footnotes
|
That's actually a flit bug (in my opinion, anyway...); I noticed it myself yesterday: pypa/flit#749. |
I should mention that updating So if someone is dependent on importing pip in |
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.
So if someone is dependent on importing pip in .pth based editable installs it may no longer work?
It seems like flit-core uses an .pth
file for its build_editable
implementation anyway, but honestly, I'm not worried about breaking users that are depending specifically on how our build backend implements editable installs. I'm not entirely sure why the freeze test needed to be updated, but I'm going to guess that the order in which the .pth
files are executed changed, causing the mock file to execute before the pip source got added to sys.path
.
It's mildly annoying that flit decided that the duplicate license files are not a bug (pypa/flit#749), but I'm not going to block this change on it.
I asked the flit team whether they had any objections to us switching over to their backend. No real issues: pypa/flit#751.
Anyway, with my RM hat on, I'm only going to consider merging this if every other maintainer is on board. And even then, I feel that would be possibly premature. We have ~2.5 weeks before pip 25.2 which is not a lot of time.
I also think that if this is merged it would be better at the beginning of a release cycle, not at the end. |
+1 from me on merging, but I agree let’s do it at the start of a release cycle. |
Fixes #13472
This is a very quick attempt to make a PR to switch to
flit-core
as pip's build back end, and if there is any missing features pip requires.There is no plan to merge, at least until, or if, there is agreement among the maintainers.