Jupyter Notebook

The Difference Between Jupyter Notebook, Jupyter Lab, and Jupyter Hub

The Jupyter project is an open-source project that aims to provide “web services for interactive computing across all programming languages”. Currently, the Jupyter project has three applications – Jupyter Notebook, Jupyter Lab, and Jupyter Hub.

In this article, we will talk about the differences between Jupyter Notebook, Jupyter Lab, and Jupyter Hub. After you read this article, you will know which Jupyter product you need to install for your use case.

Topic of Contents:

  1. What Is Jupyter Notebook? 
  2. What Is Jupyter Lab? 
  3. What Is Jupyter Hub? 
  4. Do I Use Jupyter Notebook, Jupyter Lab, or Jupyter Hub? 
  5. Conclusion

What Is Jupyter Notebook?

Jupyter Notebook is an open-source web application that can run the codes live. It’s an interactive programming shell, mainly for Python (default) – but other languages are supported as well (through the installation of third-party Jupyter Kernels). Jupyter Notebook supports Markdown which you can use to document the code segments as you write. Jupyter Notebook can visualize the data (using matplotlib if you’re using Python) and equations (using LaTeX). Jupyter Notebook has integration for data science, machine learning, deep learning, and artificial intelligence libraries like NumPy, Pandas, Keras, scikit-learn, TensorFlow, PyTorch, and others. Jupyter Notebook has support for extensions that you can use to extend it’s functionality.

A screenshot of the Jupyter Notebook’s file explorer is shown in the following:

A screenshot of a Jupyter Notebook document (with some Python codes and Markdown comments) is shown in the following:

What Is Jupyter Lab?

Jupyter does the same thing as Jupyter Notebook, but it comes with an updated user interface and lots of new features.

On Jupyter Lab, you have an integrated file explorer, terminal, and Python console. Jupyter Lab also supports the Markdown files, text files, and Python scripts. Jupyter Lab has tab support which helps to keep your work much more organized.

A screenshot of Jupyter Lab is shown in the following:

A screenshot of a Jupyter Notebook file opened in a tab of Jupyter Lab is shown in the following:

A screenshot of a Linux terminal opened in a tab of Jupyter Lab is shown in the following:

What Is Jupyter Hub?

Jupyter Hub is Jupyter Lab with multi-user support. With Jupyter Hub, multiple users can work on their own workspace without needing to manually install/configure the Jupyter Notebook or Jupyter Lab on their own.

Jupyter Hub can be efficiently managed by the Jupyter Hub administrator. A Jupyter Hub administrator can create new users on the fly and each user can log in with a username and password. The Jupyter Hub administrator can also manage (stop/start) the Jupyter Hub instances for each user.

A screenshot of the Jupyter Hub login screen is shown in the following:

A screenshot of a Jupyter Hub instance after a user is logged in is shown in the following:

A screenshot of the Jupyter Hub control panel is shown in the following:

Do I Use Jupyter Notebook, Jupyter Lab, or Jupyter Hub?

A decision between Jupyter Notebook and Jupyter Lab comes down to your personal preferences. Just answer some simple questions, and you will find out the one that you need to use on your own.

  1. Do you like the old user interface of Jupyter Notebook?
  2. Do you like the new user interface of Jupyter Lab?
  3. Do you need any feature that is available on Jupyter Lab, but not available on Jupyter Notebook or is it the other way around?

A decision between Jupyter Hub and the others is pretty simple. Do you need to share the resources of the same computer with multiple people for interactive computing? If the answer is “Yes”, you need to use Jupyter Hub instead of the other two.

Conclusion

In this article, we discussed the differences between Jupyter Notebook, Jupyter Lab, and Jupyter Hub. Once you read this article, you will be able to decide on the Jupyter product that is best suited for your work.

About the author

Shahriar Shovon

Freelancer & Linux System Administrator. Also loves Web API development with Node.js and JavaScript. I was born in Bangladesh. I am currently studying Electronics and Communication Engineering at Khulna University of Engineering & Technology (KUET), one of the demanding public engineering universities of Bangladesh.