devcontainers-contrib / features

🐳 Extra add-in features for Devcontainers and GitHub Codespaces
MIT License
242 stars 127 forks source link

Jupyter notebooks with non-Python kernels #329

Open DaneWeber opened 1 year ago

DaneWeber commented 1 year ago

I went to set up a devcontainer today to run Jupyter notebooks with non-Python kernels (Ruby in this case). I didn't find anything that seemed to be the straightforward way to do this and I ended up using a Python devcontainer with a postCreateCommand I pulled from the IRuby kernel page:

"postCreateCommand": "sudo apt update && sudo apt install -y libtool libffi-dev ruby ruby-dev make && gem install iruby && iruby register --force"

Before I create a PR for a Feature to install the IRuby Jupyter kernel, I wonder about the best approach to add additional Jupyter kernels (see the list).

Scenarios I'm considering:

Limitations:

danielbraun89 commented 1 year ago

@DaneWeber given the considerations you laid out eloquently I think its best to have a different feature for each of the language kernels? instead of one big jupyter kernel feature. Also this seems like a good candidate for the feature composition proposal.

For ruby as an example, the kernel feature can be just the gem install iruby && iruby register --force line, and declare the official ruby & python features as a dependencies

Adding the kernel into the language feature is always an option, but you can make the case as to why jupyter gets the special treatment over other third party packages/frameworks? (although python feature already do this)

evilhamsterman commented 2 weeks ago

This project is not associated with the devcontainer project and appears to have been abandoned https://github.com/devcontainers-contrib/features/issues/628 . The official project has removed all devcontainer-contrib features from their listing. https://github.com/devcontainers/devcontainers.github.io/issues/451. There is a fork that is being worked on to update and maintain the features https://github.com/devcontainers-extra/features

DaneWeber commented 2 weeks ago

@evilhamsterman -- thank you for the update and relevant links! This project has remained on my mind and I still want to resolve the Jupyter kernels issue every so often.