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

pip wheel -> pip wheelhouse #6817

Closed
pradyunsg opened this issue Jul 30, 2019 · 12 comments
Closed

pip wheel -> pip wheelhouse #6817

pradyunsg opened this issue Jul 30, 2019 · 12 comments
Labels
C: wheel The wheel format and 'pip wheel' command type: maintenance Related to Development and Maintenance Processes UX: functionality research epic Temporary label to link tickets to #8516 UX User experience related

Comments

@pradyunsg
Copy link
Member

pradyunsg commented Jul 30, 2019

pip wheel has semantics that are relevant when you're trying to build a "wheelhouse" --> a self-contained set of wheels that can be used to install a few packages.

It might be worth it to rename the command. This is, of course, dependent on how #6041 goes but filing a new issue to keep track that this might be an avenue worth exploring regardless.

@pradyunsg pradyunsg added C: wheel The wheel format and 'pip wheel' command type: maintenance Related to Development and Maintenance Processes labels Jul 30, 2019
@pfmoore
Copy link
Member

pfmoore commented Jul 30, 2019

Generally I'm -1 on this. The benefit is minimal, and the cost in terms of breaking people's automated workflows/scripts doesn't seem worth it. But there's no harm in exploring the idea - I just think it'll be hard to justify.

@pradyunsg
Copy link
Member Author

To be clear, if we even do this, it'd likely have a long deprecation period.

I'm, myself, not sure how good an idea this is but I also didn't feel like I should just dismiss this as a bad idea immediately.

@pfmoore
Copy link
Member

pfmoore commented Jul 30, 2019

:-P Yeah, I'm probably being a bit too quick to dismiss the idea...

It's more likely (in my mind) to make sense as part of a wider review of the structure of pip's subcommands, though.

@ncoghlan
Copy link
Member

ncoghlan commented Aug 7, 2019

Renaming the command while keeping "wheel" as a compatibility alias forever should give most of the gain with little of the pain.

@pfmoore
Copy link
Member

pfmoore commented Aug 7, 2019

Well, my reservation is more about the idea that the command is for making a wheelhouse. Normally when I use pip wheel, I'm thinking "I want a wheel for this project", and not "I want to build a wheelhouse for local installs".

If we're renaming commands, I'd rather we looked at use cases and designed a command structure to satisfy those use cases, hence my comment about a wider review.

Basically my personal use cases match (in my head, at least!) a pip wheel command, and not a pip wheelhouse command - so if the semantics don't deliver that use case (I've never found a problem with the current semantics, though), I'd rather we fixed the semantics instead of renaming the command (and effectively leave me having to abuse a pip wheelhouse command that apparently isn't intended to do what I'm trying to do...)

@pradyunsg
Copy link
Member Author

@pfmoore I'd say if we have the build UI for end users, the "build a single wheel" use case is covered there.

IIUC, it only leaves us with "build a wheelhouse", which is what pip wheel defaults to.

@pfmoore
Copy link
Member

pfmoore commented Aug 7, 2019

OK, so I just tried thinking through how my typical use cases correspond with pip wheel as it stands right now, something that I would expect to be named pip wheelhouse, and something that I'd expect to be named pip build --wheel (names subject to bikeshedding).

And my conclusion is that it's really complicated. (No surprise, UI design usually is). But I am 100% sure that none of my use cases feel like pip build - I'm collecting 3rd party packages, not building anything, it's just that there's an (implicit) build step if the package doesn't supply wheels. But I never feel like I'm building a "wheelhouse" as such - to me, a wheelhouse is a (relatively) complete set of wheels that can be used for offline installation. I have had the need for that, but more often than not, I don't want to use my downloaded wheels offline. (In fact, I typically wish that pip wheel defaulted to --no-deps, because that better suits my needs).

So there's a lot of compromises needed here if we don't want to end up with too many nearly-the-same commands, or too many options that change what a command conceptually does.

Which is why I say we should look at the wider picture, rather than treating this as a tactical fix. I don't think there's a rush on this, and I do think it's only a small part of a bigger picture. This is probably something that would be better handled as part of the pip UX work that the packaging WG is seeking funding for.

@dholth
Copy link
Member

dholth commented Aug 7, 2019

Isn't cheese stored in cellars?

@dholth
Copy link
Member

dholth commented Aug 8, 2019

A wheelhouse is an enclosed room used to steer a boat. I used to like the word wheelbase which means the distance between the wheels on a carriage. But they do not really make sense as a place to store wheels.

IMO there's nothing wrong with using wheel as a verb in pip.

@pradyunsg
Copy link
Member Author

This is probably something that would be better handled as part of the pip UX work that the packaging WG is seeking funding for.

Yea. I concur with you.

It'll probably help if we list what use cases we're thinking of, for the UX expert coming in later, as well as us now when we're discussing.

@pradyunsg pradyunsg added this to the Improve User Experience milestone Aug 8, 2019
@nlhkabu nlhkabu added UX User experience related UX: functionality research epic Temporary label to link tickets to #8516 labels Jul 28, 2020
@nlhkabu
Copy link
Member

nlhkabu commented Jul 28, 2020

I've added this to the list of tickets to research as part of #8516.

It'll probably help if we list what use cases we're thinking of, for the UX expert coming in later, as well as us now when we're discussing.

Yes, it would! Please share use cases :)

@nlhkabu nlhkabu removed this from the Improve User Experience milestone Jul 29, 2020
@pradyunsg
Copy link
Member Author

Closing this out, since I don't think this is worthwhile anymore.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: wheel The wheel format and 'pip wheel' command type: maintenance Related to Development and Maintenance Processes UX: functionality research epic Temporary label to link tickets to #8516 UX User experience related
Projects
None yet
Development

No branches or pull requests

5 participants