Giter Club home page Giter Club logo

Comments (5)

aktech avatar aktech commented on May 28, 2024

I think a good first step would be to list out the use case/things people would like to do with conda-store as in what exactly they will achieve by using it and also, what APIs do we have available from conda-store and after that we can start working on creating a mock UI for the same.

I will start with the use case:

Currently it is not trivial for people to get new conda environments on the QHub, while experimenting/playing with things. The current approach/solution people have is to change the qhub-config.yml file by adding or modifying an environment. With conda-store now people will be able to manage (create, edit, build) conda environments on the fly from the JupyterLab UI itself. So here the things people would like to do with the conda-store:

  • Create a new conda environment
  • Edit an existing conda environment
  • Delete a conda environment (?)

From the above use case there are some questions, which needs to be answered:

  • Are conda environments private to the users? (Yes)
  • Are they persistent across sessions, as in if the user delete and recreate the server? (Yes)
  • Should the conda environments be visible in the "Select Kernel" dropdown on the right side of the notebook? (Yes)
  • Where is the conda environment stored for each user?
  • Are we building for JupyterLab 3? (Yes)
  • Are we using TypeScript or Javascript (It seems TypeScript repo is more active)?

From the above points, we also need to know what APIs we have available in the conda-store REST API:

  • Can you get the status/progress/failure of the conda build?
  • Can you get a list of conda environments for the user?
  • Can you sanity check the yaml from the API?
  • Can you delete conda environment from the API?
  • What else do we have in the API?

I think answering these questions will help us clarify the requirements more clearly and we will have a better image in our head while designing the mock. The above list might not be exhaustive, this is what came from the top of my head, feel free to add more.

from conda-store.

costrouc avatar costrouc commented on May 28, 2024

Adding ideas from our qhub-internal meeting. It would be nice to have an anaconda navigator like experience (at least the idea).

from conda-store.

costrouc avatar costrouc commented on May 28, 2024

From the above points, we also need to know what APIs we have available in the conda-store REST API

conda-store has three http endpoints:

Looking at the routes should give a better view of the capabilities. Along with the ORM https://github.com/Quansight/conda-store/blob/main/conda-store-server/conda_store_server/orm.py

Can you get the status/progress/failure of the conda build?

Yes via the GET /build/<build-id> there is a status field/enum

Can you get a list of conda environments for the user?

Currently you can only list all the environments https://github.com/Quansight/conda-store/blob/main/conda-store-server/conda_store_server/server/views/api.py#L15. But it with authentication and using namespaces in the query we should be able to support this

Can you sanity check the yaml from the API?

Currently validation is built into the post request https://github.com/Quansight/conda-store/blob/main/conda-store-server/conda_store_server/server/views/api.py#L46. Via https://github.com/Quansight/conda-store/blob/main/conda-store-server/conda_store_server/schema.py#L74 pydantic schemas

Can you delete conda environment from the API?

Not at the moment. This is due to conda-store not having a concept of tasks like (build environment, delete environment, etc.) currently there is only a build action. I am planning to move towards celery for this task processing see issue #22. Celery looks like the clear choice .. spent a long time looking for alternatives celery always feels a bit heavy

What else do we have in the API?

Notable stuff:

from conda-store.

costrouc avatar costrouc commented on May 28, 2024

After visiting this issue with the team. We will be investigating how to integrate conda-store with https://github.com/mamba-org/gator

from conda-store.

costrouc avatar costrouc commented on May 28, 2024

Closing since there have been a lot of developments here and this issue is broad. See all the ui labels along with the gator/conda-store integration work.

from conda-store.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.