Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
Google Firebase Studio¶
You can use notebooks after installing the jupyter extension and the programming lanuage that you want to use in Jupyter notebook.
Google Cloud Shell¶
Technically speaking, Google Cloud Shell isn’t Jupyter/JupyterLab service. It is a always free small VM with 5GB persistent storage that Google Cloud Platform offers to its customers to experiment with Google Cloud and manage projects and resources from web browsers. However, the Google Cloud Shell can be used to run Jupyter/JupyterLab notebooks in 2 ways.
Google Cloud Shell comes with Cloud Shell Editor which is a cloud IDE based on Theia (which a cloud & desktop IDE framework implemented in TypeScript and is partly VSCode compatible) . With Cloud Shell Editor, Jupyter/JupyterLab notebooks can be run (if the required notebook kernel is installed).
You can manually install JupyterLab and launch a service.
A Cloud Shell VM is ephemeral and no system-wide change will persist beyond session end. There are 3 ways to circumvent this problem.
Use a custom Docker image (recommended). Please refer to container image customization for detailed instructions.
Use a environment customization script .
Install tools to your local directories which are persistent (not recommended).
GitPod¶
GitPod allows users to use their customized Docker images
and allow users to expose HTTP services from your workspace.
This means that if you have JupyterLab/Hub installed in your GitPod image,
you can run a JupyterLab/Hub server within your GitPod worksapce and access it from public.
Once you start a new services listing on a port,
a prompt will show up at the right-bottom corner and you can click it to visit the service.
The prompt will disappear after a few seconds or after being clicked.
You can always use command gp url port to find the public URL of an exposed port/service.
Note that GitPod has a timeout of 30 minutes (unless you have the Unlimited Plan) if there’s no activity on the GitPod IDE page. This seriously limit the usability of the JupyterLab server launched from a GitPod workspace. You will have to go back to the IDE page once for a while to make sure that your workspace won’t timeout and get killed. I typically use JupyterLab launched from GitPod for ad hoc short-time tasks, e.g., writing a notebook-based article for my blog.
Noteable¶
Pros¶
support filesystem navigation
support different kernels in different cells in the same notebook
Cons¶
no terminal support
Google Colaboratory¶
No terminal unless you hack it to run JupyterLab
Support root user.
Google Drive can be mounted.
Free GPU available!
Kaggle¶
Jupyter notebooks only, no JupyterLab support.
Only Python an R kernels are supported.
GPU available for request.
DeepNote¶
Pros¶
Allow customized Docker images.
Cons¶
DeepNote uses a customized interface instead of Jupyter/Lab interface causing
no easy way to navigate through the file system
no easy way to switch among different kernels
Code Ocean¶
Pros¶
Very flexible. Seems to be a good choice.
Cons¶
The pricing seems to be expensive ...
Cocalc¶
The free plan is not usable as no internet access is provided for the free plan.
Binder¶
Pros¶
Great for temporary usages.
Customization of Docker iamge is supported!
Cons¶
No persistent storage at this time.
Quantopian¶
Pros¶
There seems to be lots of good tutorials on Quant Fiance.
Cons¶
Jupyter only and too limited features. Not usable.
Gryd¶
Cons¶
Supports only Jupyter but not JupyterLab/Hub.
Outdate Docker images and software (Python 3.6 only).
sudois not supported currently.Installed software does not persist.
DataQuest¶
Course learning only.
Authorea¶
Cons¶
Jupyter only.
sudonot supported
YHat ScienceBox¶
Datalore¶
Not usable.
PythonAnywhere¶
Cons¶
sudois not supported.
Microsoft Azure Notebooks¶
Cons¶
Supports only Jupyter but not JupyterLab/Hub.
Outdate Docker images and software (Python 3.5 only).
sudois not supported currently.
Amazon SageMath¶
IBM Watson Studio¶
Deploy Your Own Public JupyterHub Server¶
It is very easy to deploy a Jupyter/Hub/Lab server. The difficult part is how to make your Jupyter/Hub/Lab secure. Please refer to Running a notebook server and Installing and Running Jupyter Notebooks on a Server on how to set up SSL encryption to enable HTTPS for your Jupyter/Hub/Lab server.