What is the big deal with Jupyter Notebook?

Manuel Silverio
AI Makers
Published in
4 min readJan 6, 2021
hackingandslacking.com

With each passing day, the number of python notebooks keeps growing. Developers have embraced Jupyter Notebook into their lives and now it has become a must-have in the industry. Every day I keep finding a lot of useful notebooks rather than a regular .py file since many developers are adopting this relatively new paradigm.

I think the first time this called my attention was in 2019, but back then I did not feel inspired enough to implement it. In 2020 I saw many more developers embracing Jupyter Notebooks and a lot of documentation addressing how their code works in a specific way for Notebooks and things like that. I saw many Python developers praising Jupyter notebook on Youtube or even just using them and giving for granted that you also use it.

Ultimately at the end of 2020, I finally decided to make the jump and understand how Jupyter Notebook works and what was the big deal about it. Now it feels like I have always used it; like it’s always been there; and like it is the simplest thing in the world, but I remember when I was just ok using Pycharm and did not care about Jupyter. Therefore, in this article, I wish to explain why Jupyter Notebook is so popular and also why it will not replace your regular Python environment but be an addition to it.

Jupyter notebook is convenient for the initial development of code. It allows you to segment your code and re-run segments of your code while storing the values of variables from segments which you have already run. To showcase this, here is an example:

A basic example of Jupyter Notebook
A basic example from GitHub

As you can see in this example, each cell runs separately. This is great when a certain part of your code contains neverending arrays or a machine learning training operation. With Jupyter you can run these long operations once and then create a new cell below and use the values you obtain from previous cells.

Another situation where Jupyter is widely used is for creating documentation or tutorials for your team. You can explain you thought process much better on a notebook rather than in comments within your code.

Jupyter Notebook is not always the best

Despite how useful Jupyter might be, it still does not replace and IDE like PyCharm or Visual Studio Code. if you need to create long self-contained classes or just pack your code for submission you might prefer moving your code from Jupyter to one of these IDEs. Jupyter is great for development. But once things are developed, Jupyter is not the best place for constant implementation.

Another important difference to consider is code completion. By default, Jupyter Notebook offers weak code completion features when compare to and IDE like PyCharm, so you better know your code well.

Jupyter offers Jupyter lab (new environment) and Jupyter Notebook. I have to warn you of using Jupyter lab instead of Jupyter Notebook since I tried to use both and at the moment of writing this article I have found that Jupyter lab lacks certain functionalities that Jupyter Notebook has.

How to install and use Jupyter Notebook

I took the liberty of creating a Notebook which explains how to install and use Jupyter Notebook in a nutshell (see below).

Screen capture on how to install and use Jupyter Notebook

Here is the same notebook from GitHub:

GitHub code on how to install and use Jupyter Notebook

If you want a further explanation I am leaving some great articles and videos which explain how to use Jupyter Notebook:

--

--