Has anyone ever wished that the Pangeo hubs had a VSCode/Theia-style IDE?

I’m curious what the community’s experience has been in being restricted to a JupyterLab + Jupyter Notebook environment by default. Do people feel like it is adequate for the kinds of research and analyses that people do on Pangeo? Do they feel limited at all by their inability to utilize a full development environment for their work?

If this has been discussed elsewhere please feel free to point me in that direction! I am trying to understand what kinds of workflows we might be missing with the default hub environments, or if this is less-of-an-issue than I’d assume.

1 Like

Some of us have been using the Jupyter VSCode Proxy (https://github.com/betatim/vscode-binder) to enable a richer IDE when developing in the cloud. This seems to work well enough and provide quality of life improvement over the builtin editor in Jupyterlab.

Have you got a write-up that you’ve worked from to make this happen? I wonder if such a thing would be useful for others who wish to use jupyterhub but with more traditional IDEs

I think I just followed the link above and it worked first try (here’s my commit that added it to my hub: https://github.com/carbonplan/hub/commit/820f69d0a0a0df7a3aef81c748899db63319be1e).

ah nice! I will check it out. Upon thinking a bit more I feel like from 2i2c’s perspective, we need to recommend using Theia over VSCode. If folks are paying us to deploy infrastructure, it probably violates the VSCode license to do this on behalf of another community :thinking:

1 Like

A significant portions of users here at CNES, the ones that have more development skills, greatly appreciate the VSCode integration. So yes, they felt limited by only the Jupyterlab editors. As this is an HPC Jupyterhub, it is deployed in a Conda environment directly.

We have also the desktop extension, which can be useful for using other softwares or just a web browser.

1 Like

Yes - @scottyhq got the proxy @jhamman mentioned up and running on the ICESat-2 Hackweek Pangeo image earlier this year. If I recall correctly there were a few issues (search for “vscode” in the ICESat-2 Hackweek organization) until we updated the base image and forced the install from conda-forge. I haven’t updated recently, but at last use a couple months ago I was unable to install extensions on the proxy, which limited IDE feature use (e.g. no linter).

1 Like

Hey everyone, I was just writing up a new issue, and then found this one over here.

From my point of view, not having all the nice bells and whistles of a full IDE is quite a roadblock for my development workflow. I was looking for a way to ssh tunnel into pangeo deployments for a long time, but it sees it is still not quite possible.

I recently came across this post, and was wondering if we could enable browser based VScode on the pangeo deployments? I think this would make a lot of my workflow so much more efficient, streamlined and flexible.

I think that the place where this change would need to happen is in the pangeo hub user image repository - I wonder if @scottyhq has ever played around with getting VSCode into the images by default?

Yes, from links above back in 2020 we installed code-server and jupyter-vscode-proxy into the images. If I recall correctly that took up a lot of space and was a bit brittle, but maybe things are better now and we could add it to the default images, feel free to open a pull request!

Importantly though I think you could only run VSCode from the Hub, rather than connecting a local VSCode editor but running the remote kernel on the hub? Is that now possible? It’s not clear to me from the linked issues.

Planetary Computer has instructions for connecting local VS Code to a remote notebook server (so you log in normally and start your server, then use an API key to connect from your local VS Code). That said, a user reported issues with their VS Code not connecting to the remote kernel, so something in that guide might be off. I haven’t been able to debug it yet.

Support OAuth login for JupyterHub · Issue #6035 · microsoft/vscode-jupyter · GitHub and Support spawning notebook servers for JupyterHub · Issue #6402 · microsoft/vscode-jupyter · GitHub are a couple feature requests around making this easier.