Explore the JupyterLab interface and codebase.
Project Jupyter provides building blocks for interactive and exploratory computing. These building blocks make science and data science reproducible across more than 40 programming languages, including Python, Julia, and R. Central to the project is the Jupyter Notebook, a web-based interactive computing platform that allows users to author data- and code-driven narratives (computational narratives) that combine live code, equations, narrative text, visualizations, interactive dashboards, and other media.
While the Jupyter Notebook has proved to be an incredibly productive way of working with code and data interactively, it is helpful to decompose notebooks into more primitive building blocks: kernels for code execution, input areas for typing code, markdown cells for composing narrative content, output areas for showing results, terminals, etc. The fundamental idea of JupyterLab is to offer a user interface that allows users to assemble these building blocks in different ways to support interactive workflows that include, but go far beyond, Jupyter notebooks. JupyterLab accomplishes this by providing a modular and extensible user interface that exposes these building blocks in the context of a powerful work space. Users can arrange multiple notebooks, text editors, terminals, output areas, and more on a single page with multiple panels, tabs, splitters, and collapsible sidebars using a file browser, command palette, and integrated help system. The codebase and UI of JupyterLab is based on a flexible plugin system that makes it easy to extend with new components.
Ian Rose and Chris Colbert walk you through the JupyterLab interface and codebase and explain how it fits within the overall roadmap of Project Jupyter.
Ian Rose was a postdoctoral scholar at BIDS working on Project Jupyter. He did his PhD at UC Berkeley in earth and planetary science after undergraduate training in geophysics at Yale University. During his graduate studies, he worked in computational geodynamics, modeling the thermal, chemical, and rotational evolution of Earth and other planetary bodies. In that time, he developed software for modeling the physics of planetary interiors as well as for Earth science education. At BIDS, he will be working on bringing real-time collaboration to the Jupyter Project.