-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Plan for 10.0 #4981
Comments
Strong -1 on this. If pip isn't going to implement PEP 517/518, then those PEPs are essentially dead for the foreseeable future. I don't think that is helpful. It also doesn't send a particularly good message to the users and developers of flit, that interoperability with pip is going to be possible in a reasonable timescale (and personally, I very strongly want to work towards a situation where pip and flit work together as well as pip and setuptools do currently). I don't think it's likely that a new PR to remove PEP 518 is going to be helpful. Even if that were the route we wanted to take (and I don't think it is) It's not going to be merged unless it's clear that all it does is revert the changes made to implement PEP 518 - and who's going to be able to review it to confirm that? Personally, I'd rather accept that PEP 518 support is incomplete for now and go with what we have - but we've not really managed to achieve any consensus on that. Github issues haven't proved particularly helpful as a way of co-ordinating the work needed to handle PEPs 517 and 518. It seems like it's too easy for discussions to fragment into multiple issues/PRs. I don't have a solution for this. One thing that might be worth considering is that the big issue here is not actually PEP 517/518. Rather, it's the need to add a new concept into pip - that of having a "build environment" that provides all of the prerequisites to build a package, but which is different from the installation environment where the package will be installed (in the sense that if building needs I can't help feeling that the PEP process is a better way of thrashing out the sorts of design issues we're facing here than github issue comments. But I don't know how we'd capture the current problem in a PEP-able format. Nor do I know if distutils-sig has any appetite for another PEP to add to the queue of unimplemented ideas :-( |
By the way - the only actual constraint on releasing pip 10 is that we have addressed any release blockers. Currently, the only release blockers for pip 10.0 are these: #4647 and #4803 One is simply saying we need to document our PEP 518 support (and any limitations it may have) and the other is reporting that the current code tries to run Heck, we could simply downgrade those two issues to no longer be release blockers. |
This comment is completely divorced from reality. The existing PEPs fully and adequately specify the behavior that |
TBH, I've had this idea of removing PEP 518 code (pradyunsg@6ff51ba) but I agree with Paul here that the ramifications of doing that are almost equivalent to killing PEP 517/518.
Could you make a new issue for it, with an example/description of how to cause the current
+1 I have an idea here that helps out with even the dependency resolution situation but I'd rather not digress right now.
+1
I can, but I genuinely don't think that's enough. :)
Yes. Please, don't do that. Likely, a better approach is to break up #4799 into smaller bite-sized chunks that can be processed in the trickle of dev-time that's available. I believe @xoviat has stated that he has completed a wheel-build-dep only variant of PEP 518 there (or something like that). If we somehow don't resolve this until April, I'll probably have the bandwidth to be able to take this on.
I actually have a draft that I'll put in a Gist when I have the time to finish it, regarding what can be done for some of the refactoring work. If someone wants, I'll pull it higher in my queue. All that said, the closest I could come up with some acceptable strategy, assuming removing PEP 518 code now, would be:
I won't mind this if somehow we can ensure that 3 and 4 happen in a reasonable time frame or someone shows that what we have now is so bad that redoing it would be less work. |
I do not have the bandwidth to constantly fight the maintainers to merge my changes. I still have not heard that there would be a good-faith commitment to review and merge them ("agree with my changes at a high level"). |
Lacking a better place to say this: I really think we should have a beta release, whenever we start the process. |
I'm OK with that. I'm still quite happy to do the release - but I'm not going to try to arbitrate over what goes in, what doesn't and how we resolve the differences. What I'd like is:
The reasons I'd like to see pip 10 out of the door:
(1) is important enough that if pip 10 is significantly delayed, I think we should consider backporting the fix to a 9.0.x patch release. I don't really want to do that myself, though, as our release process isn't set up for patch releases and I don't want to be the one to design that new process. |
Also, as soon as those PRs plus gh-4987 is merged, I can rebase my branch and it should resolve the issue completely. We can then proceed directly to PEP 517. |
Both approved (by me, at least). I'll leave it to @pradyunsg to decide if he's OK merging the 3 PRs you mention, or if he wants additional reviews.
Maybe, but is your branch now small and self-contained enough to review? Maybe @pradyunsg is OK with reviewing and merging it. I don't have a feel for whether I could review it, it's some time since I looked at it. I'm willing to take another look, but I reserve the right to still ask for clarification (if you can't explain things to the extent I'm need, I'm fine with simply deferring to others - but I'd prefer to help review as I know we have few committers available to work on this).
I'm not interested in PEP 517 for pip 10. In fact, I'd prefer to ignore it completely to be sure we just get PEP 518 dealt with, without confusion and side issues. If your branch fixes #4647 at the cost of opening up a potential source of new issues in PEP 517 support (I've no idea how extensive the tests are in your branch), then I'd honestly rather look for an alternative short-term fix (even if that's simply downgrading #4647 to not a release blocker and fixing it via your branch early in the pip 11 cycle). |
After gh-4799 is merged, we should IMO have a release candidate and then start trying to find bugs. |
Is there a plan for what the process from RC to release is? (My particular interest is in the urllib3 improvements to use SecureTransport, which helps resolve the need to have all PyPI consumers use TLS1.2 by June) |
With NumPy and SciPy, we release, tell people to test it out, and then if no bugs are found in a couple weeks, that's the release that goes out. If bugs are found, the process repeats. |
Basically what @xoviat says. I'd call it a beta rather than a RC, but that's just terminology. In the past, we've had limited success getting people to test pre-releases, But frankly, there's not much else we can do, so we'll have to work with what we've got. The big question is how well we can support freezing master for the testing period. That'll probably be what dictates the length of that period. I'm not keen on managing bugfixes across a release and a development branch for the first time on this release. It's probably something we should consider introducing longer-term, but likely not until we're a bit less critically low on resources :-) (Disclaimer: This is only an "official" plan to the extent that I've offered to do the release. If one of the other @pypa/pip-committers has other ideas and wants to help out or take over, that's fine with me). |
I also think 2 week period should be fine. I imagine we can hold-off any non-bugfix PRs for that long. If it gets longer, then we'll have to take a look at things. @pfmoore I'd also appreciate it if you could take the time to review #4799 (did I get the number right?). I'm happy to help out with the release. =) |
@pradyunsg Sorry, I can't really review #4799 in the form it's currently in, and I don't want to cause any additional frustration to @xoviat (or myself ;-)) by pushing for yet more explanations of what's going on. If I get time to research the underlying code to a point where I follow the PR, I'll come back to it, but until then I'll defer to the people who know this part of the code. |
@xoviat appears to have closed #4799. Where does that leave us with PEP 518 support and a pip 10 release? Are the parties with concerns about the current state of support for PEP 518 willing to accept a release with what we currently have in master? If not, how do we unblock things? Options seem to be:
(1) relies on @xoviat and @pradyunsg working together to resurrect #4799. (2) relies on @benoit-pierre and the other people concerned about current support for PEP 518 confirming that they are OK with accepting it. (3) needs a PR. The final option, which I'm reluctant to take, is for PyPA to unilaterally declare we just release master as pip 10. Before doing that, I'd want explicit OKs from @dstufft, @pradyunsg and @xavfernandez, but if they agree, I'm willing to do the release. (Note for the future - we need to seriously consider having a maintenance branch. But I don't know if that's even possible with our current level of manpower :-() |
I'll be happy to resurrect #4799 on my own. I'm just a little surprised
that it was closed. I'd marked 1st March as the day to merge that PR in my
calendar, so what's happened is funny to me at some level.
I think reverting is reasonable, mostly because I'm not aware of
discussions about how to introduce build isolation to pip and
implementation of the same.
I'm strongly in favour of a maintenance branch and for keeping things
proper with that.
…On Thu, 1 Mar 2018, 04:27 Paul Moore, ***@***.***> wrote:
@xoviat <https://github.com/xoviat> appears to have closed #4799
<#4799>. Where does that leave us with
PEP 518 support and a pip 10 release? Are the parties with concerns about
the current state of support for PEP 518 willing to accept a release with
what we currently have in master? If not, how do we unblock things?
Options seem to be:
1. Reopen #4799 <#4799> ***@***.***
<https://github.com/pradyunsg> had promised to merge it, I don't know
where that promise stands now).
2. Accept master as fit for release as is.
3. Revert PEP 518 support completely.
(1) relies on @xoviat <https://github.com/xoviat> and @pradyunsg
<https://github.com/pradyunsg> working together to resurrect #4799
<#4799>. (2) relies on @benoit-pierre
<https://github.com/benoit-pierre> and the other people concerned about
current support for PEP 518 confirming that they are OK with accepting it.
(3) needs a PR.
The final option, which I'm reluctant to take, is for PyPA to unilaterally
declare we just release master as pip 10. Before doing that, I'd want
explicit OKs from @dstufft <https://github.com/dstufft>, @pradyunsg
<https://github.com/pradyunsg> and @xavfernandez
<https://github.com/xavfernandez>, but if they agree, I'm willing to do
the release.
(Note for the future - we need to seriously consider having a maintenance
branch. But I don't know if that's even possible with our current level of
manpower :-()
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4981 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADH7SX_SX_DSOUPMadv2XYXyjb-e52hOks5tZdnagaJpZM4Rlmgm>
.
|
Cool, so #4799 is good to go IMO. I'll merge it once CI is happy. The roadmap for pip 10.0, as I understand, would be:
|
Nice! Thanks for putting that list together. I'll try to find some time over the next week or so to review them, and I'll get up to speed on the release process. |
I'll add all linked issues to the 10.0 milestone. |
gh-5033 is a new release blocker that I recently discovered. conda-forge will be broken without it. |
I think we're super close to beta now. IMO, the state of everything in the milestone for 10.0 is:
@pfmoore Do you agree? |
I'll be cutting the beta this weekend, so yeah, we're that close.
Basically, we should be slowing down now - I'm seeing a rush to get the "last few things in". While I can understand that if we were to have a long delay after pip 10 before the next release, I'm hoping (and willing to commit effort to ensuring) that we can get back to a better release pace after pip 10 (3-6 months between releases). So the rush is somewhat artificial. PS Sorry, I did want to put up a reminder that I was intending to freeze after the beta release (it has been mentioned elsewhere). But I couldn't think of a good place to post it - I'd forgotten we had this issue which would have been ideal. |
Sounds good to me. Deferring those to after 10.0 is also cool with me. :)
…On Fri, 30 Mar 2018, 14:39 Paul Moore, ***@***.***> wrote:
I'll be cutting the beta this weekend, so yeah, we're that close.
- #5000 <#5000> and #5118
<#5118> Agreed, if you're happy to
merge once CI has passed that's fine.
- #4835 <#4835> and #5026
<#5026> Sorry, but if these don't make
the beta, I'd rather defer them till *after* 10.0. To be clear, I want
to have a change freeze between 10.0 beta and 10.0 final - we've put enough
effort into asking people to test the beta that I don't feel it's fair to
then add functional changes once the beta has been released.
- Specifically #4835 <#4835> I won't
have time to review (especially as it's non-Windows) so I'm expecting that
to have to wait till post-10.0 now.
- If you're really keen on merging #5026
<#5026> after the author responds, you
have 24 hours left. But honestly, I feel like it's being rushed to hit the
deadline, and I'd be inclined to defer it to post-10.0.
- The deferred ones, I agree.
Basically, we should be slowing down now - I'm seeing a rush to get the
"last few things in". While I can understand that if we were to have a long
delay after pip 10 before the next release, I'm hoping (and willing to
commit effort to ensuring) that we can get back to a better release pace
after pip 10 (3-6 months between releases). So the rush is somewhat
artificial.
PS Sorry, I did want to put up a reminder that I was intending to freeze
after the beta release (it has been mentioned elsewhere). But I couldn't
think of a good place to post it - I'd forgotten we had this issue which
would have been ideal.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4981 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADH7Sb4Ri-qHTZAe0VbB5Eh8gDY4NH6Pks5tjfZTgaJpZM4Rlmgm>
.
|
@pfmoore We haven't done beta releases for awhile, but feel free to make a release branch for 10 for now if you want, once final is out we can merge it back into |
Thanks, I'll do that - although my git skills may not be up to merging it back so I may have to ask for assistance later over that :-) |
One other thing that I wasn't sure about - is there anything we need to do to promote the current docs from "latest" to "stable" on https://pip.pypa.io, or does that happen automatically when we release? We probably shouldn't do that until the release, although part of me wants to just to improve visibility of the new docs. |
10.0.0b1 isn't a stable release, so it doesn't get promoted automatically, but basically the way RTD is setup is:
So once 10.0.0 is tagged, it should get promoted to stable. |
Not sure where else to put this, but just as a reminder, I'll be creating 10.0 final this weekend (likely Saturday morning). We currently have no release blockers or outstanding issues/PRs on the 10.0 milestone, so we're in pretty good shape, it seems. Thanks to everyone who's helped get us to this point. I'd prefer to have a final moment of calm before the release, rather than a last minute rush, so here's hoping for no surprises!!! The new PyPI goes live on Monday, AIUI, so it should be a fun weekend! |
Is it wise or necessary to have these two changes (10.0 and PyPI) go out so
close to each other e.g. since it could complicate troubleshooting or
compound problems?
…On Thu, Apr 12, 2018 at 11:24 AM Paul Moore ***@***.***> wrote:
Not sure where else to put this, but just as a reminder, I'll be creating
10.0 final this weekend (likely Saturday morning). We currently have no
release blockers or outstanding issues/PRs on the 10.0 milestone, so we're
in pretty good shape, it seems. Thanks to everyone who's helped get us to
this point.
I'd prefer to have a final moment of calm before the release, rather than
a last minute rush, so here's hoping for no surprises!!!
The new PyPI goes live on Monday, AIUI, so it should be a fun weekend!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#4981 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAVt7msF27wpVHD80JPI4MdvB9VJj_Bqks5tn5vzgaJpZM4Rlmgm>
.
|
We've had a lot of testing of both of them, so it should be fine. Warehouse is time constrained due to the MOSS award coming to an end and pip is limited by time and the fact we've already made announcements. We also don't want to release pip 10 or PyPI too closely to PyCon, to give it time to shake any issues out before then. |
I reported #5193 against 10.0.0beta. Have you seen it? It looks like a regression. |
@sbidoul Sorry about that, it looks like none of the other developers have picked up on it (or possibly they have, but don't consider it a blocker) - IIRC, I saw it, but it's outside my area of expertise, so I can't comment myself. I'm going to assume it's relatively low-impact, as no-one else has reported anything similar, and so not make it a release blocker - but I'm open to releasing a quick 10.0.1 fix if one of the other @pypa/pip-committers feels it's worth doing so and provides a fix. |
Looks like there will be a 10.0.1, as @vsajip is in the process of putting together a distlib fix for #5223. I'd like to get it out ASAP, as it's affecting a lot of Windows users. So my plan is that as soon as the distlib release is ready, I'll revendor and release 10.0.1 from master. Assuming things go to plan, that'll be before next weekend (I don't have much time this coming weekend, so a midweek release suits my availability better). If there's anything else that's critical for a 10.0.1, it needs to be completed and put into master ASAP - but please do not rush non-critical changes into master. I'd like to avoid needing to create a branch, but I also don't want to destabilise 10.0.1. Issues marked as blockers for 10.0.1:
The only other issue targeted for the 10.0.1 milestone is #5231. It's a bug in a vendored dependency - they have a fix, but it's not clear if they are going to do a release. If someone wants to push a release through in the next day or two, or prepare and merge a PR putting the fix into our vendored version, then that's OK with me, but otherwise it'll miss 10.0.1. Apart from all that, please can people not merge stuff to master if there's a chance it could destabilise 10.0.1? Thanks. |
Wasn’t there already a branch for 10.x before? You could have kept using
that.
…On Mon, Apr 16, 2018 at 8:16 AM Paul Moore ***@***.***> wrote:
Looks like there will be a 10.0.1, as @vsajip <https://github.com/vsajip>
is in the process of putting together a distlib fix for #5223
<#5223>. I'd like to get it out ASAP,
as it's affecting a lot of Windows users. So my plan is that as soon as the
distlib release is ready, I'll revendor and release 10.0.1 from master.
Assuming things go to plan, that'll be before next weekend (I don't have
much time this coming weekend, so a midweek release suits my availability
better).
If there's anything else that's critical for a 10.0.1, it needs to be
completed and put into master ASAP - but please do *not* rush
non-critical changes into master. I'd like to avoid needing to create a
branch, but I also don't want to destabilise 10.0.1.
Issues marked as blockers for 10.0.1:
- #5219 <#5219> breaks normal usage
of get-pip.py for Windows users. @pradyunsg
<https://github.com/pradyunsg> I'm going to merge #5233
<#5233> unless you want to do anything
more on it (or merge it yourself).
- #5230 <#5230> environment markers
in build dependencies has a PR #5245
<#5245>. I don't feel like I know
enough to review this - @pradyunsg <https://github.com/pradyunsg> can
you check it over and approve/merge? If you're not happy with it, I suggest
we postpone it till 10.1.
- #5237 <#5237> is "only" a missing
explanation of an error. There's a PR fixing this at #5239
<#5239>. I'm OK with this going in,
but I'm wary of it taking ages to debate the precise wording of the
message. At the moment, it's waiting on the user confirming the PR looks
OK, but I think we shouldn't wait too long on that. Frankly, I don't think
this counts as a blocker but I don't mind it going in.
- There's also #5215 <#5215> which is
not a blocker but which I think should go in if @dstufft
<https://github.com/dstufft> can get it merged.
The only other issue targeted for the 10.0.1 milestone is #5231
<#5231>. It's a bug in a vendored
dependency - they have a fix, but it's not clear if they are going to do a
release. If someone wants to push a release through in the next day or two,
or prepare and merge a PR putting the fix into our vendored version, then
that's OK with me, but otherwise it'll miss 10.0.1.
Apart from all that, please can people not merge stuff to master if
there's a chance it could destabilise 10.0.1? Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#4981 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAVt7hh3rVzy5gGB6fF3NU6VfLUGI5s-ks5tpLXZgaJpZM4Rlmgm>
.
|
That's a testsuite fix, with no user impact, isn't it? No need for it to be in 10.0.1 in that case.
Yes, but as per our processes, it was merged into master when we released. We don't maintain separate release and development branches. |
The typical process is we would branch off of the tag, and backport fixes, but since master is already in a reasonable state and nothing else has landed, it's easier to just release off master again, as long as nobody merges something that would prevent that. |
@dstufft yeah, I'm cheating and using the "full release" process (from https://pip.pypa.io/en/latest/development/#release-process for interested watchers) rather than the "bugfix release" process, precisely because master's still clean. I'm not confident enough of my git skills to backport individual fixes if I don't need to ;-) |
Yes, but the suggestion being considered is to tell people in advance not
to commit to master, not to do what you’re suggesting in case someone does.
(By the way, note that merging a branch doesn’t imply / necessitate
deleting it.)
…On Mon, Apr 16, 2018 at 1:35 PM Donald Stufft ***@***.***> wrote:
The typical process is we would branch off of the tag, and backport fixes,
but since master is already in a reasonable state and nothing else has
landed, it's easier to just release off master again, as long as nobody
merges something that would prevent that.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#4981 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAVt7sVs3KrNJzWSnMXZC6J6a6qxZY8nks5tpQCRgaJpZM4Rlmgm>
.
|
@cjerdonek For a couple of days, and there's only 2 other active committers, both of whom know the situation here. Let's not over-engineer things :-) |
@benoit-pierre Oh, sorry - I missed that #5227 was the user-facing one. I've merged #5235, so let's see how the tests for #5227 fare after that. There were also some review comments from @pradyunsg - I'll let him follow up on that and merge when he's happy. I've marked #5224 as a blocker so I don't forget this again. |
@pfmoore: thanks. |
I just merged #5215, which should fix those errors. |
@dstufft cool, I wasn't sure if that would be enough. Thanks. |
I think #5231 is important enough to get in to 10.0.1, I'll get it landed after I eat dinner. |
OK, we now have no release blockers or issues on the 10.0.1 milestone,and the CI for master is clean. On that basis, I plan on releasing 10.0.1 tomorrow night (approx 24 hours from now). If anyone knows of any blockers that have been missed, please speak up now, and ideally point me to a PR that's ready to be merged :-) |
OK, pip 10.0.1 has been released. Thanks to everyone who helped fix issues, and who put up with my nagging. At this point I'm going to call it a wrap for 10.0, and we can start to look forward to 10.1. Master is now open for business again. I'm going to close this issue now - although I've found it useful, and I suggest that it might be worth having a "Release x.y.z" issue open for future release, to give a central point for discussions and for people who want to keep an eye on progress. 🎉 ✨ 🍺 |
🎉 @pfmoore I've taken the liberty of closing the 10.0.1 milestone. :)
+1 |
It's clear that PEP 518 support won't be implemented anytime soon. In addition, some maintainers mentioned that
master
was not in a releasable state. In order to allow a release, I propose that PEP 518 support be reverted completely and both PEP 518 and 517 be deferred indefinitely. I can submit a PR to remove PEP 518 if needed.The text was updated successfully, but these errors were encountered: