conda / conda-dot-org

conda.org website
https://conda.org
BSD 3-Clause "New" or "Revised" License
29 stars 34 forks source link

Add a conda installer selector widget #81

Open travishathaway opened 1 year ago

travishathaway commented 1 year ago

Description

We would like to have a widget on the website for people to use to figure out which conda installer is right for them. Here are just a few ways to install conda:

Prerequisites

Tasks

Good to know ☝️

There will most likely be a little back-and-forth on the design. It's okay to begin prototyping something before we know all the installers we want to include.

bupd commented 1 year ago

I would like to contribute

jaimergp commented 1 year ago

Inspiration: https://pytorch.org/get-started/locally/

image

travishathaway commented 1 year ago

@bupd,

Are you still interested in contributing this feature? If so, I can assign this issue to you. I just updated the description of the issue to be a little more clear.

Let me know if you are still interested or have any questions.

travishathaway commented 1 year ago

All,

I have marked this as a https://github.com/conda-incubator/conda-dot-org/labels/good%20first%20issue in case anyone else would like to work on it. @bupd will have priority because he/she asked first. If he/she does not want to work on this issue, I will assign it to the second person who comments.

Shreyas-SAS commented 1 year ago

@travishathaway if @bupd is not available, I can work on this issue. Please assign it to me in that case. Thanks.

bhavukkalra commented 1 year ago

@Shreyas-SAS @travishathaway Any progress on this? I see that this issue isn't assigned yet. Do let me know, If someone gets assigned to this. Maybe we can collaborate on it!

travishathaway commented 1 year ago

@Shreyas-SAS,

You've already been assigned to another issue. To more fairly distribute our good first issues, I will be assigning this to @bhavukkalra instead.

@bupd, I'm going assume you're no longer interested given it's been a couple of days since I messaged you.

Shreyas-SAS commented 1 year ago

@travishathaway yeah, it's fine. I will also start my work on the other issue in an hour or so. Thanks.

bhavukkalra commented 1 year ago

Survey currently under review by the community [No additions have been made, other than the installer options already listed in the original issue]. These are the installations -

Anaconda - https://docs.anaconda.com/free/anaconda/install/index.html MiniConda - https://docs.conda.io/en/latest/miniconda.html MiniForge - https://github.com/conda-forge/miniforge mambaforge - https://github.com/conda-forge/miniforge#mambaforge micromamba - https://mamba.readthedocs.io/en/latest/installation.html#micromamba

bhavukkalra commented 1 year ago

Just wanted to update on the status of this issue.

bhavukkalra commented 1 year ago

Summary -

These are the different installation ways that are being considered for addition

Anaconda MiniConda MiniForge mambaforge micromamba condacolab (Only for Google Colab) ensureconda brew nuget (Couldn't find the website for this) scoop (Can install mamba forge using scoop)

Below is a sample widget Inspiration from - https://pytorch.org/get-started/locally/


Additon to be made - "the Python versions for which the different installers are available (Anaconda and Miniconda offer several, but Miniforge and Mambaforge only one; and this info doesn't really apply to micromamba), and the operating systems / architectures."

I believe we can address this by just listing out Python version available alongside the version selected from the widget. Or should we make a separate selection just for this?

Example -

image

Sample Prototype

TODO

Few Questions -

Main

bhavukkalra commented 1 year ago

Here is the Final first draft widget Interaction

Code - https://github.com/bhavukkalra/react-samples

UploadThis

travishathaway commented 1 year ago

Hi @bhavukkalra,

This looks like a good first attempt. Are you able to link to a live preview anywhere?

bhavukkalra commented 1 year ago

Sure @travishathaway , Here it is - https://bhavukkalra.github.io/react-samples/

I created a separate route for this.

travishathaway commented 1 year ago

@bhavukkalra,

One thing that should be addressed is that on hover the cursor needs to turn into a pointer just like it does when you hover over links in your browser.

I also think that the colors on the left column should be muted like they are on the PyTorch selection matrix. I don't like the stark contrast between the green and the red. The red should be a green and the green should go away.

Speaking of colors, you should also consider choosing colors that fit the theme for the website. You can find those colors here: https://conda.org/style-guide#color-palette

jaimergp commented 1 year ago

I think we still need the Python implementation (CPython, PyPy) and version(3.8-3.11?) selector (for some combinations only), and the architecture(s) (linux-64, linux-aarch64, linux-ppc64le, osx-64, osx-arm64, win-64...).

jaimergp commented 1 year ago

One more reference, the rapids.ai page:

bhavukkalra commented 1 year ago

One more reference, the rapids.ai page:

This is actually quiet helpful. Implementing this straight in code could be quiet a task with all the slider logic that needs to be made. @jaimergp What do you suggest? Should we make a final design first, like in figma or something, as that could give us a guiding direction.

As once that is finalized, I believe It won't take long to convert that into code. (As we can use the above as a template)

jaimergp commented 1 year ago

If it's easier for you to do it in Figma, go ahead!

Avik-creator commented 11 months ago

Can I contribute to this?

tnabtaf commented 11 months ago

Hi @Avik-creator, I think this effort stalled. If you would be interested in working on it, then I encourage you to work on it, and make it your own!

travishathaway commented 11 months ago

@Avik-creator, I added you as co-assignee. Let us know if you need clarification or help.

Avik-creator commented 3 weeks ago

Sure sorry for the very late reply and @travishathaway the issue is still not completed right?

travishathaway commented 3 weeks ago

@Avik-creator,

The issue is still available to work on.

Avik-creator commented 3 weeks ago

Ok thanks

Avik-creator commented 3 weeks ago

@travishathaway can we make it like this?

IMG_20240902_162430.jpg

travishathaway commented 3 weeks ago

@Avik-creator,

No. The selection of a conda installer depends on at least two variables:

  1. Operating system
  2. Installer type (e.g. Miniforge, Miniconda or Anaconda)

So, it needs to reflect those.

Avik-creator commented 3 weeks ago

@travishathaway Ok, so the UI is not the problem right? I will add those then

Avik-creator commented 3 weeks ago

Deployed URL of the Prototype: https://guileless-salmiakki-3e2ec6.netlify.app

Github URL: https://github.com/Avik-creator/conda-forge

@travishathaway please check it once, if possible if you wanted it like this or not, then will do the integration in the main site

travishathaway commented 3 weeks ago

Thanks @Avik-creator,

This is looking good so far, but I am still not sure exactly where on the website we are going to put this.

@jaimergp, do you have any thoughts or opinions on this?

Avik-creator commented 3 weeks ago

I guess what we can do is to have a install button in the home page and then create a pop up modal containing this?

@travishathaway

travishathaway commented 3 weeks ago

I guess what we can do is to have a install button in the home page and then create a pop up modal containing this?

@travishathaway

Yes, that is one possibility. If it's not too difficult to implement, it would be really nice to see a pull request with this implemented. Each pull request generates a hosted preview of the website we can examine.

If you need more certainty before working on a such a thing, hold off for now and let me talk with some of the other project maintainers to make sure this is really something we would like to have on the website.

Avik-creator commented 3 weeks ago

Sure then will make a pr with this being implemented. You can check it there once.

jaimergp commented 3 weeks ago

We'll also need the architecture of the operating system:

And it would be nice to have the selector inform about the default channel (mostly defaults or conda-forge).

Then we need a way to include micromamba and pixi in the matrix because they are self-contained tools in a way.

jaimergp commented 3 weeks ago

I am still not sure exactly where on the website we are going to put this.

It should be in a page where we discuss the different ways of getting started with the conda packaging ecosystem. "Choose your conda package manager" would be the section where this widget allows an easy way to choose what they user might want.