conda-incubator / conda-store

Data science environments, for collaboration. ✨
https://conda.store
BSD 3-Clause "New" or "Revised" License
142 stars 46 forks source link

[ENH] - Hide username for cleaner UX #680

Open ericdatakelly opened 9 months ago

ericdatakelly commented 9 months ago

Feature description

For long usernames, such an email address like ekelly@mycompanyname.com, conda environment names become very long in conda store. For example, if my env name is pytorch-cv-v2, the resulting env name is ekelly@mycompanyname.com-pytorch-cv-v2. This is what I need to type on cli to activate the env, and it's the name that is displayed in the JLab launcher tiles, which is truncated and tends to only show several tiles of ekelly@mycompanyname.c, which makes me hover my mouse to see the full name and find my env.

I suggest hiding the username part of the env name from the user so that the user only sees and types the env name. For example, if I try conda activate pytorch-cv-v2 it would check if I included a namespace, then if not, just prepend my username for me. Conda and conda store would use ekelly@mycompanyname.com-pytorch-cv-v2, but on cli and in the JLab and Conda Store UIs, I would only see pytorch-cv-v2.

Value and/or benefit

The users will benefit by not having the many small annoyances that come with typing their username over and over. They will also experience a cleaner and easier to read UI, finding the correct env names faster. The command prompt would also be shorter and cleaner.

Anything else?

No response

trallard commented 9 months ago

Thanks @ericdatakelly

This seems to be yet another side effect of having a model where usernames = namespaces. We should be able to hide some of this and simplify the user experience. Though we might need to think about situations like when a user has envs with the same names in multiple namespaces - what would work as the default namespace, how do we communicate this hierarchy, and when/how users need to type in the whole env + namespace.

Tagging @smeragoel as this is a UX issue

dharhas commented 8 months ago

This is also intersects with choices made for Nebari and limitations of upstream conda. i.e. conda doesn't have namespaces and we are faking it on the filesystem by appending the namespace to the environment name. In Nebari, we use the username as the namespace for personal environments.

Fixing this will likely either require upstream fixes to conda or development of a namespace aware conda-store cli.