I am currently working on getting a Jupyter Hub up and running in an enterprise. I would like to enable Pythonistas of all skill levels to collaborate. One hindrance I see is that a lot of our existing analysts and data scientists are already using PyCharm and are very comfortable with this.
I would like to provide PyCharm users an added value via the Jupyter Hub. I would like to enable them to work with any kind of file, use their terminals, extensions and all kinds of integrated pycharm experiences but working with files and kernels inside the Jupyter Hub and additional data and resources in the cloud.
So my question is: How do we best enable PyCharm users to collaborate via a Jupyter Hub?
please note: Working with Notebooks is not enough. We need the full PyCharm experience integrated.
Basically I would like to be able to provide a full blown experience similarly to what I can already enable for VS Code users. For example as shown at betatim/vscode-binder: VS Code on Binder (github.com)
The jupyter hub users will have access to a shared + personal folder that is mounted both in the Jupyter Hub running on Kubernetes and locally on their windows 10 laptop. These shared folders are slow though - roughly 20 times slower than their laptop drive.
So the solution that is already enabled is to work locally and just use the shared drives to share files.
But I would like to do better. I would like the PyCharm users to be able take advantage of the fact that the pods are running in the (Azure) cloud close to our data lake and datawarehouse. And that if you are running in the Jupyter Hub you have better access to cloud data, cloud services, cloud resources, a linux environment with less restrictions, easy app deployment etc.
I would also need the PyCharm users to become super users of the Jupyter Hub such that they can support the less experienced users and contribute to continuous improvements.
The end goal is to create an efficient workplace and community for working with data, models and analytics across domains, skill levels and technologies.
I can see that the solution probably has something to do with SSH. I don’t have experience with remote development via SSH. And the feed back from IT so far is that the idea of opening a new port for each user to provide SSH is not a good idea.
Maybe something like yuvipanda/jupyterhub-ssh: SSH Access to JupyterHubs (github.com) is the solution. But I have not been able to evaluate this yet.
Our users have access to PyCharm professional which provides the possibility to Configure an interpreter using SSH