Building a powerful data science IDE for R, Python, and SQL using JupyterLab
JupyterLab provides a robust foundation for building flexible computational environments. Ali Marami explains how R-Brain leveraged the JupyterLab extension architecture to build a powerful IDE for data scientists, one of the few tools in the market that evenly supports R and Python in data science and includes features such as IntelliSense, debugging, and environment and data view.
Talk Title | Building a powerful data science IDE for R, Python, and SQL using JupyterLab |
Speakers | Ali Marami (R-Brain Inc) |
Conference | JupyterCon in New York 2017 |
Conf Tag | |
Location | New York, New York |
Date | August 23-25, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
JupyterLab provides a robust foundation for building flexible computational environments. Ali Marami explains how R-Brain leveraged the JupyterLab extension architecture to build a powerful IDE for data scientists, one of the few tools in the market that evenly supports R and Python in data science and includes features such as IntelliSense, debugging, and environment and data view. Ali explains how R-Brain first filled in the gap between the Jupyter universe and R developers by developing a new full-featured R-Kernel before building a number of JupyterLab extensions, including the Language Server Protocol, Stdin and Stdout, real-time streams, R Markdown and Shiny support, HTML output, and infrastructures for supporting debugging and a data view. Ali then explains how, on the client side, R-Brain worked closely with JupyterLab core developers to abstract the editor, enabling the company to integrate Monaco (the heart of Microsoft’s VSCode IDE) into JupyterLab. This integration facilitates the implementation of language support and IntelliSense for R, Python, and SQL and significantly improves the experience of code development inside JupyterLab by providing comprehensive development and debugging tools such as context menu, autocomplete, code format, and folding. R-Brain also implemented a server-based data viewer, environment view, and debugging for both R and Python, which are in high demand in data science. Ali concludes by sharing some lessons learned along this journey.