JupyterIDE: Promoting JupyterLab Features and Extensions That Facilitate Collaboration among Researchers and RSEs

Abstract

Jupyter Notebooks are open-source tools researchers commonly use to develop workflows and other software. Researchers and RSEs likely know the Classic Notebook interface, the original web application for creating and sharing notebooks, but there are several other coding environments to choose from. An Integrated Development Environment (IDE) is a software application that provides helpful features beyond traditional source code editors, such as debuggers, for developing software. However, IDEs such as VSCode can present a barrier to entry for researchers familiar with other tools. JupyterLab, a friendlier alternative for researchers developed by Project Jupyter, is an extensible development environment for notebooks that comes with many IDE-like features, including a debugger and tab expansion. Additionally, the community maintains many other helpful extensions that do not ship with the default environment. Our JupyterIDE project collects and curates useful extensions and provides tutorials for how to use them. Tutorials include introductions to language server processing, which provides code auto-completion and linting features, and Git integration for version control best practices. Tools like these can make JupyterLab an ideal environment for developing research workflows that can be used by seasoned RSEs who are accustomed to IDE features in collaboration with researchers who may not have interest in investing time into learning a new tool. JupyterIDE makes these tools more accessible for users and promotes software engineering best practices in a research environment.

Publication
US-RSE Conference 2023
David Costello
David Costello
Undergraduate Student Researcher

David is a senior at Arizona State University and Barrett, the Honors College majoring in mathematics doing research in Greek manuscript transcription. He was an intern with Jupyter4Science project for the better part of 2023.

Nicole Brewer
Nicole Brewer
Site Editor and PhD Student at Arizona State University

Nicole is a PhD student in History and Philosophy of Science at ASU where she is using network analysis and other methods to empirically study the reproducibility of Jupyter Notebooks used in research.

Namita Shah
Namita Shah
Undergraduate Student Researcher

Namita is currently a junior pursuing Computer Science at Ira Fulton School of Engineering and Barrett, the Honors College, with minors in Data Science and Educational Studies. She is also an intern for the Jupyter4Science project.