8 Useful Jupyter Notebook Extensions That You Should Try Out | by Ismael Araujo | Towards Data Science

Python libraries are very popular for making our lives easier, and a popular way to use Python is with Jupyter Notebook. Even though Python libraries are great, Jupyter Notebook offers some great extensions that I highly recommend you trying out. Today, let’s explore 8 of my favorite extensions that will make your life easier.
If you are reading this, I believe that you are already familiar with Jupyter Notebook. In case you are not, here is what their website says about it.
The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
Installing extensions requires only one line of code. Just type the following code on Terminal, and you are good to go.
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
Now, if you type jupyter notebook in your Terminal, you will find a new tab at the top once the screen loads. Just click on Nbextentions, and a new screen with multiple options will load. Let’s explore some of them.
One of the good things about Jupyter Notebook is that you can easily annotate on it. However, it doesn’t offer a native spellchecker, and Grammarly doesn’t work with it. I have seen some bad typos on projects (including mine) that could have been avoided if they had used a spellchecker.
Well, luckily, the extension spellchecker offers a solution for that. If you commit a typo, it will highlight the misspelled word. Unfortunately, it doesn’t show us what exactly is wrong. However, this is better than nothing. To enable it, click on the Nbextensions tab and select spellchecker.
ExecuteTime shows us how long a cell took to run. It’s handy if this is a concern for you. In my opinion, this is indispensable for machine learning since models can take hours to run. You can argue that we can use %time instead, but Jupyter Notebook offers a better experience. To enable it, click on the Nbextensions tab and select ExecuteTime.
This one is great to help you organize your notebook. It automatically organizes your notebook depending on the header level. If you don’t need to see portions of the code, you can hide them and focus on what you are currently working on. To enable it, click on the Nbextensions tab and select Callapsible Headings.
One of the most common Python best practices that I’ve seen people ignoring is to make the Python code nice and easy to read. When we don’t use appropriate spacing, our code will look messy and disorganized. Even if it works perfectly, some people might think that you are not a good programmer just because of the way your code looks.
Code Prettify does what the same suggests: It makes a messy code look better. One-click and voilá. If you are one of those that don’t use spaces often when you are typing your code, this extension will be convenient
Code Prettify does what the same suggests: It makes a messy code look better. One-click and voilá. Your code will look way better and easier to read. To enable it, click on the Nbextensions tab and select Code prettify.
Hinterland is very handy as well if you have problems remembering some necessary code, just like me. All you need to do is start typing, and it will suggest some options to you based on the letters you typed. To enable it, click on the Nbextensions tab and select Hinterland.
This extension hides the code so that you can focus on the graphs and outputs. I only understood its utility when I delivered a project on a Jupyter Notebook, and the audience what not very technical. They were analyzing only the graphs, not the code. To enable it, click on the Nbextensions tab and select Hide input all.
Move selected cells is one of the most useful extensions in this list. As the name says, you can move more than one cell. I can’t count how many time I wanted to move a few cells and I had to do one by one. This extension would have saved me a few minutes if I knew about it before.
To select more than one cell, you need to press alt + up or alt + down. To enable it, click on the Nbextensionstab and select Move selected cells.
Do you think that the extension above is not good enough for you? Then Rubberband will do the job. Rubberband helps you selecting the cells by holding Shift and selecting with your mouse. The only downside is that once you move the cells, Rubberband will unselect them. Thus, you can only move the selected cells once. To enable it, click on the Nbextensions tab and select Rubberband.
Python libraries are very cool, but it’s a fact that many people ignore extensions. Extensions can help us do our projects more efficiently. There are dozens of extensions that you can use, and I highly advise you to read about each of them. Some of them might not be useful to me, but it can be advantageous to you. The best way to find out is by trying it out.
Let me know which extensions you like or any extension that I should have mentioned here. Happy coding!