What exactly is JupyterLab and how does it compare to the Jupyter Notebook environment?
JupyterLab is a next-generation interface for Project Jupyter. The JuypterLab Github repo describes it as “an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture”. You could call it an upgrade of the current Notebook application, that adds functionality that is currently missing in Jupyter Notebooks. JupyterLab aims to replace the current Jupyter Notebooks eventually, so you might be interested in learning how it compares to your current Jupyter Notebook app.
How does JupyterLab compare to Jupyter Notebooks?
According to some, the problem with Jupyter Notebooks is that they focus too much on data science while ignore data engineering capabilities. This explains why the people behind the Jupyter Project decided to take all the good parts from the current Jupyter Notebook and add such capabilities, and start with a clean slate and name.
JupyterLab takes the same notebook documents and server from Jupyter Notebook, but adds a set of features currently lacking in the Jupyter Notebook app. Overall, Jupyterlab makes better use of screen space than Jupyter Notebooks, adding multiple windows that separate code and map visualizations. With regards to the map widget, this can be assigned to a separate window meaning they’re no longer tied to code cells. The map is now in a fixed position, whereas using an Jupyter Notebook you had to create new instances of your map each time something changed in the layout, or requiring you to scroll upwards to see the map in an earlier code cell.
Another huge win is the possibility to open several notebooks at once, minimize them or simply switch between multiple notebooks, just as you would using a web browser that has multiple tabs. The same goes for your file overview window and currently opened notebooks: Jupyter Notebook uses a separate browser window for both, while JupyterLab integrates in a single screen, as well as a terminal window and file viewer. This file viewer enables you to view .csv directly without loading them as a pandas DataFrame. Finally, JupyterLabs lets you cut and paste entire code cells around different notebooks. This feature is still not available in the Jupyter Notebook app.