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

Remove --global-option and --build-option flags #12301

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

sbidoul
Copy link
Member

@sbidoul sbidoul commented Sep 30, 2023

The removal of these options was scheduled for 23.3.

closes #11859

@sbidoul sbidoul added this to the 23.3 milestone Sep 30, 2023
@sbidoul sbidoul force-pushed the rm-build-global-option-sbi branch 2 times, most recently from 16b0d66 to 2be580c Compare September 30, 2023 22:33
@sbidoul sbidoul marked this pull request as ready for review October 1, 2023 09:13
@sbidoul
Copy link
Member Author

sbidoul commented Oct 1, 2023

Perhaps we should postpone this, since setuptools does not seem to accept --build-option via config settings. pypa/setuptools#2491 (comment)

@sbidoul sbidoul changed the title Remove --global-options and --build-option Remove --global-option and --build-option flags Oct 1, 2023
@pfmoore
Copy link
Member

pfmoore commented Oct 1, 2023

I'm inclined to say that at some point, we need to bite the bullet and be explicit that this is a setuptools issue, not a pip one, and we won't maintain the legacy options indefinitely. But having said that, there's no particular reason we have to remove these now, so leaving them for a while longer is reasonable.

The docs already note that the options only apply to the legacy setup.py path, so maybe at this point we just need to switch the dependency around, and assume we're OK to start removing the setup.py path now, with these options simply becoming useless once that happens, and we remove them as part of that work?

@pradyunsg
Copy link
Member

pradyunsg commented Oct 1, 2023

Let's defer this for now -- I do agree that the reason for that is a setuptools issue and not a pip one, but I don't like the idea of leaving out users in a state where there isn't a way to achieve parity with an earlier release of pip due to us removing an option that serves a reasonable user-need but it's not served due to setuptools not being ready for it.

I also don't like the idea of having folks point pitchforks at pip/setuptools maintainers for this, given that this doesn't really feel all that urgent and it's going to cause user churn when this gets removed anyway. Being able to say "here's what you need to change to" is definitely more palatable than "there is no equivalent to that thing". 😅

maybe at this point we just need to switch the dependency around, and assume we're OK to start removing the setup.py path now, with these options simply becoming useless once that happens, and we remove them as part of that work?

Maybe?

It'd add friction to that removal though, and I think making this removal a slow burn vs a hard break is the choice we'd have to make here. My guess is that a slow burn around this (i.e. not coupling the two removals) would be a smoother rollout, but I'm also not (yet?) in possesion of a crystal ball that'd tell me the future.

@pfmoore
Copy link
Member

pfmoore commented Oct 1, 2023

I think that the critical point here is what's being blocked on this. Removing the legacy setup.py code path has been an ongoing effort for some time now, and I'd like to see it resolved. But in all honesty, there's very little depending on it - pip's feature development (and for that matter, new packaging features and standards in general) has slowed down at the moment, so this isn't actually the blocker that it might be if things were moving more rapidly.

So I'm fine with deferring, but if anyone feels that progress on something else is being delayed by leaving this (and the setup.py code path) around for a while longer, please speak up!

@sbidoul sbidoul modified the milestones: 23.3, 24.0 Oct 1, 2023
@sbidoul
Copy link
Member Author

sbidoul commented Oct 1, 2023

I think at this stage it only causes a slowly growing maintenance burden, but does not block pip evolution. So no urgency indeed. I postponed to 24.0 and we'll reevaluate then.

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.

Deprecate --global-option and --build-option
3 participants