-
Notifications
You must be signed in to change notification settings - Fork 67
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
Investigate conda-store to understand if / how it could be used in JupyterHub #786
Comments
@yuvipanda please let me know how I can help and feel free to open issues on conda-store regarding the integration. Also happy to meet over a call sometime if you would like. |
This is missing from conda-store right now but is the direction we want to go. |
@yuvipanda I commented on the hackmd as well. |
Additionally @yuvipanda I've completed the systemd example of running conda-store which might help you with tljh pluggin. See https://github.com/Quansight/conda-store/tree/main/examples/ubuntu2004. It has the systemd configuration files along with showing a minimal setup. |
Thanks a lot for the merge and the new release, @costrouc! I'll continue to open issues and PRs as I go along :) And thanks for responding on the hackmd too! I'd love for you to transition to FastAPI (or another async framework) - I think from sync to async, especially in a process involving db transactions, becomes difficult after it reaches critical mass. And currently, almost all the server side software in this space (dask-gateway, jupyter, etc) are async, so it would be great to follow suit - helps with code re-use too wherever possible. |
So, the hub environment in TLJH uses a virtualenv, and conda isn't really installable in anything other than conda environments. The |
How about installing miniconda as part of the bootstrapping TLJH is doing? Then you can create the conda env and install conda store on it (modulo conda-store does not need to run from the base environment which would be already available after installing miniconda, so it should not be an issue, I think). |
So, mamba is there, nice! |
Deeply tied into condaAs is clear from the name, conda-store is deeply tied into conda - it's
But maybe I'm looking at this the wrong way totally, and an analogy to repo2docker (which Users can make as many conda envs as they want!conda-store ships with its own concepts of namespaces (users), and environments Many moving piecesI tried to make the simplest possible setup for TLJH, but for production use outside
I've run celery based setups with message queues in the past, and they do work great. Next stepsI think next step is to find a community that has pre-existing users who are I'd also like to actually finish tljh-conda-store, so I can form more opinions from |
Thanks for this update @yuvipanda - it sounds like next steps with |
@yuvipanda, first of all, thanks for the summary! I think the next step section is a reasonable one.
Makes sense to me.
Btw, do you have a link that I can take a look at about this piece? 😉 |
Description
For https://github.com/2i2c-org/meta/issues/252, 2i2c-org/features#3, 2i2c-org/features#6, and pangeo-data/jupyter-earth#79, we want to spend some time investigating conda-store. We should have a deeper understanding of what it is and how it works, so we can figure out where (and if) it can be helpfully deployed for us. It's also important to see if we can contribute back upstream productively, as community ownership & governance is very important for long term sustainability of projects.
Yuvi will try to write a TLJH plugin to get conda-store to work with TLJH. The goal of this exercise is to learn more about conda-store and how it might be used in a JupyterHub. This helps him understand what it takes to deploy the simplest possible production JupyterHub with a working conda-store implementation, and might independently be useful for TLJH users as well.
Value / benefit
Getting conda-store to work with tljh helps me fill out https://hackmd.io/_hQdrilJQFCGExUqYgwY3Q?edit with a quick evaluation of conda-store, to help understand how it can fit our use cases. It also helps figure out how upstream collaboration would work, as we'll need to send patches upstream for sure - conda-incubator/conda-store#196 is a start.
Ultimately, this will help us figure out how much resources we can spend on improving and using conda-store.
Tasks to complete
Updates
The text was updated successfully, but these errors were encountered: