4 Jupyter Notebook Alternative for Data Scientist | by Cornellius Yudha Wijaya | Towards Data Science

If you enjoy my content and want to get more in-depth knowledge regarding data or just daily life as a Data Scientist, please consider subscribing to my newsletter here.
As modern Data scientists, programming is the main tool that we must master. Although, unlike software developers or engineers, we utilize programming language for data analysis and not for software development. That is why we data scientists are taught to use the data analysis IDE for our work.
Jupyter Notebook is the main environment where many Data Scientists start from because it is the easiest to understood and integrated with the Anaconda environment (which many people use to set up the Data Science platform). However, there are few Jupyter Notebook alternatives that I want to introduce as a consideration once you have understood how Jupyter Notebook works.
Here are my four Jupyter Notebook alternatives for Data scientists. Let’s get started on it.
Visual Studio Code or VS Code is a free and open-source IDE designed for programmers to running and executing their codes seamlessly. VS Code is versatile because they include many customizable extensions, code debugging, and GIT integration for versioning purposes.
In the past, VS Code is more suitable to developers or engineers because it did not have any capability for data analysis, but since 2020 VS Code team have worked together with the Jupyter team to bring an integrated notebook within the VS Code. The result is an amazing IDE workbook you could use for data analysis. Let me show you how the VS Code notebook integration works in the image below.
As you can see in the image above, you are running your code on the left side (where it looks like a cell in the Jupyter Notebook), and the result is shown on the right side. Let’s try to dissect in more detail how the process works.
First, to initialize the notebook cell, you need to type # %% on above the code you want to run as a cell similar to the Jupyter Notebook. When you do this, VS Code would automatically understand that you intended to initiate the Notebook and show up with the cell option. When you want to run the cell, you could run it using the shortcut shift + enter.
When you run the cell code, it would automatically run in the interactive notebook—for example; I run the following code.
In the image above, I load an mpg dataset and show up the dataset's head (top 5 rows). In the notebook, it would process similar to the image below.
The capability is there, but why do we want to use VS Code notebook instead of the Jupyter Notebook? There are few reasons I could give you:
If you are coming from a developer background, VS Code would feel familiar,VS Code is integrated with the GIT Versioning, which helps when you want to see your old code,Code Debugging exists in the VS Code, unlike in Jupyter Notebook.
If you are coming from a developer background, VS Code would feel familiar,
VS Code is integrated with the GIT Versioning, which helps when you want to see your old code,
Code Debugging exists in the VS Code, unlike in Jupyter Notebook.
There are many more reasons I could think of, but in the end, it would come back to your preferences.
What is nteract? It is an open-source interactive environment designed for end-to-end data analysis workflow, including a notebook for data exploration, building applications, versioning, and more. In my opinion, the main selling point for nteract is the interactive part, where the UI allows you to control the notebook result and present it as an application.
The nteract environment contains a desktop app that you could download here, and the kernel is automatically integrated with your Anaconda environment. Because of that, when you already installed the nteract, you could open your notebook without the need to initiate the Jupyter Notebook or go to the Jupyter Lab. For example, I would show you my old notebook and the folder.
From the image above, you could see that the ipynb file is now, by default, could be open using the nteract. Let’s see what is it like when you open it.
The nteract IDE is shown in the image above. The nteract environment is similar to the Jupyter Notebook but with more control in the cell placement and integrated as an app. Let’s see the usage of nteract in the GIF below.
There are also various nteract libraries you could use to enhance your productivity, such as:
Papermill is used for notebook parameterization, which could automatically save your notebook result to the cloud environment,
Scrapbook is used to save all the data and images from your notebook by basically “Scrapping” it,
Bookstore is used for versioning.
Jupyterlite is an in-browser based Jupyter Notebook unofficially developed by the Jupyter developer. It utilizes many of the Jupyter Lab and Jupyter Notebook features and is made ready to use in the browser. The development is still ongoing so expect many changes and additional features would be added, but we could check out the Jupyterlite environment.
You could try Jupyterlite in-browser using the demo in the Jupyter Lab style or the Retro Lab Style (Classic Jupyter Notebook). Either way, the basic environment have already contained few features such as:
Pre-installed visualization packages such as altair, plotly, and matplotlib
In-browser based notebook interaction for hosting, save, and export notebook
Jupyterlite CLI
Let’s try to check out the basic usage of Jupyterlite using the plotly notebook demo provided by Jupyterlite.
From the GIF above, we could see that the environment is still similar to the Jupyter Notebook, but it seems more basic. Though, the UI is slightly more interactive — you could move the cell around, just like nteract.
If you want to build Jupyterlite in your own environment, you could do that by installing Jupyterlite.
python -m pip install --pre jupyterlite
When you have finished installing the package, you need to run the following code.
jupyter lite initjupyter lite buildjupyter lite serve
Done. You now have built the Jupyterlite locally and could access it from your browser. However, just like I mentioned previously that Jupyterlite is still ongoing development, so I expect many things could be changed in the future.
Google Colaboratory or Colab is an in-browser based notebook developed by the google team. The notebook environment is based on the Jupyter Notebook environment, so it would feel familiar for you who already use the Jupyter. The notebook is shown in the image below.
As you can see from the image above, the environment is similar to the Jupyter Notebook. So, why do we want to use Google Colab? There are few reasons I could give you:
It is perfect for any people who did not have any access to high-performance hardware/GPU. Because Colab is hosted in the cloud and provided you with free GPU, you could analyze bigger datasets that are not possible in-premise — especially if you are still in the learning phase,
Easy integration with the Google database such as Google Sheet, Google Drive or Google BigQuery,
Instant code snippets you could use for specific purposes. For example, camera capture from a webcam or creating a stacked chart.
Google Colab is perfect for you who still learning or working closely with the Google environment as it is developed with the Google services integration.
If you want to learn more about Google Colab, I suggest you visit their notebook tutorial. This tutorial provided all the basic Google Colab use cases and how to develop your own Neural Network using TensorFlow.
Data people vastly use Jupyter Notebook because it is easy to use and developed specifically for data analysis. However, as you getting more familiar with the Jupyter Notebook, you might want to check another alternative.
In this article, I have present you with four Jupyter Notebook alternatives you could use. They are:
Visual Studio CodenteractJupyterliteGoogle Colab
Visual Studio Code
nteract
Jupyterlite
Google Colab
I hope it helps!
Visit me on my LinkedIn or Twitter.
If you are not subscribed as a Medium Member, please consider subscribing through my referral.