wildtreetech / ohjh

ohjh - The OpenHumans JupyterHub deployment
MIT License
8 stars 7 forks source link

Create a custom single user image #4

Open betatim opened 6 years ago

betatim commented 6 years ago

We want to have some custom libraries and tools installed in the single user image.

Things we need for sure:

More ideas?

betatim commented 6 years ago

We can test drive this image via mybinder.org and this repository I think.

betatim commented 6 years ago

Current image is: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/tree/master/images/singleuser-sample

madprime commented 6 years ago

anaconda? Well, that's not really a library, it's a bunch. I think @gedankenstuecke is better at data analysis in general, and especially in R, and is more familiar with libraries that would be desired.

gedankenstuecke commented 6 years ago

I've never tried the R kernel, but can users install packages in it using install.packages() or devtools in their own notebooks? Because in that case we wouldn't need to provide any packages for R I think. Installing packages with these two methods is pretty straight forward.

madprime commented 6 years ago

I think "R kernel" just means the ability to do a Jupyter notebook in R. https://github.com/IRkernel/IRkernel And yes, we should start by having that! RStudio sounds good to me but I don't speak R.

Would devtools itself be a package? (or maybe it's a default thing?)

gedankenstuecke commented 6 years ago

Yeah, but if users get full control of their R session they can just install stuff on their own. devtools is its own package (which might be useful to be preinstalled) but it can also be just installed with install.packages() if users can do this.

madprime commented 6 years ago

I may misunderstand, but I suspect pre-installation of libraries/packages/tools on the user image is in part desirable as a time-saver – assuming installation of these things by each user (even if theoretically doable) takes any amount of time to perform.

gedankenstuecke commented 6 years ago

Sure, then I'd say we go with tinyverse, which has all the packages you want.

madprime commented 6 years ago

For Python I wondered if something enabling "import from a remote URL" might exist – and found this. I think it'd be a great addition, assuming it works as it promises? https://github.com/operatorequals/httpimport

(And a comment – although the README refers to importing from a github "master" branch URL, for security reasons, I'd generally encourage imports from URLs that refer to a specific commit hash.)

betatim commented 6 years ago

Add pip install open-humans-api to the image.