Jupyter Notebook Online bannerSetting up a local environment to run Jupyter Notebook can be cumbersome. You need to install Python and tons of packages to make it works. The convenient alternative can be running notebooks in the cloud. There are many services that allow you to create, edit and run Python notebooks with premade data science environment. I would like to show you some popular services that offers Jupyter Notebooks online. What is more, I will show you also two new alternative approaches for running notebooks online.

Google Colaboratory

The Google Colaboratory also knonw as Google Colab. It is a service provided by Google. It offers free and paid tiers (pricing website). The notebooks from Google Colab are saved in Google Drive. You can also easily access files from Google Drive. The real-time collaboration is not available. The Google Colab implementation is proprietary. It has slightly different user interface than original Jupyter Notebook. You can install your own packages, but after installation you need to restart a kernel.The notebook maximum computational run is 12 hours on free plan. If longer executions are needed the paid plan should be considered.

There is an access to GPUs and TPUs on free plan. The type of available devices can vary depending on time and usage. There is an internet access in the notebooks. Notebooks can be kept as private or public. The link to Colab FAQ if you would like check more details.

It is one of the most popular online Jupyter notebook because of generous free plan.You don’t need to signup if you already have email account on Google.

MyBinder

It is an online service for running the notebooks that are available from public code repository (for example, your notebook needs to be in the public GitHub repo). The notebook can access only files that are already available online. The launch of the notebook might be slow. You are able to define your own environment but you need to define the packages in requirements.txt or environment.yml file. The environment will be created for you on notebook start. The MyBinder is a good solution for researchers that would like to share their findings with others.

CoCalc

The CoCalc notebook is provided by SageMath company. It offers the same look and feel as original Jupyter Notebook. Its implementation is open-source. The service provides free and paid plans. The free plans are limited. You can’t install custom packages and there is no internet access from the notebook. The real-time collaboration is available. What is more, there are some great features available as chat or grading (very useful for teachers).

The CoCalc provides kerenels for many languages Python, Sage, R, Octave, and many more. There is no access to GPU in the service. The service can be self-hosted after purchasing the commercial license.

Kaggle Kernels

The Kaggle.com is a website that hosts machine learning competitions. It is owned by Google. It provides a service for creating and running Python notebooks online. The service is free to use. The user needs to verify the account to get access to all features (like internet access). The available machine can be with GPU support but for a limited time. User can create private and public notebooks. Public notebooks are great for sharing on the Kaggle with other competitors. The notebook user interface is different than original Jupyter Notebook. The available environment comes with tons of already preinstalled data science packages. Additionally, there is an option to install custom packages - it can be done in the cell running the command with ! (example !pip install mljar-supervised).

This is a great solution if you would like to learn machine learning and compete with others. The Kaggle community is very welcoming.

Deepnote

The Deepnote is a startup working on online notebook. It is backed by Y-Combinator and well funded. Their user interface is different than original Jupyter Notebook, but is looks really impressive (it’s my opinion). They provide a free and paid plans. The free plan has 750 hours for computing. What is more, you can get access for paid plans for free if you are a studend or a teacher. You can run notebooks on different size machine with GPU support. The Deepnote offers the real-time collaboration on notebooks.

You can have private and public notebooks. They have many custom features like scheduling, converting notebook to application, visual chart creator to name the few. They provide integrations with GitHub, PostgreSQL, BigQuery, Redshift and others.

The Deepnote might be a good solution if you are looking for cloud based solution with private workspace.

JupyterLite

The JupyterLite is an online notebook that runs entirely in the web browser. What? Yes, it connects to the Python kernel that is compiled to WebAssembly and runs in the browser. You don’t need to connect to backend machine with Python interpreter. Everything is running in your web browser. You can try it online at this address https://jupyter.org/try-jupyter/lab/.

It is a great solution if you want to play with Python or do a very simple demo, for example with visualization. If you are planning to do some heavy lifting with Python, it won’t be possible with JupyterLite. Installing additional packages might be a problem, because not all packages have beed compiled to WebAssembly.

It might be a great solution for teachers, students but they should be aware that they are running in the environment compiled to WebAssembly.

Mercury

If you would like to share your notebook online with non-coders the Mercury is a solution for you. Wait, share a Python notebook with non-technical users? Yes! The Mercury turn Python notebook into interactive web application. It will generate the widgets for your notebook. Your friends can tweak widgets values, click Run, and your notebook will be executed with new parameters. You can easily hide the notebook code.

It is a perfect solution if you would like to share the notebook with non-programmers. Additionally, the Mercury can convert a notebook into slides, dashboard or a report. You can learn more on the website and documentation.

Summary

There are many ways to run a Jupyter notebook online and create amazing Python code to share with others. If you are looking for a free machine with GPU then you should try Google Colaboratory or Kaggle Kernels. If you are looking for online environment for your Data Science project and would like to share it with your team, then CoCalc and Deepnote might be a good start. The MyBinder and JupyterLite websites might be a great solutions for students and teachers. If you are looking for online tool for sharing notebooks with non-coders then Mercury is for you.


Share your Python Notebooks with others