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.
Ali Marami has PhD in Finance from University of Neuchâtel in Switzerland and BS in Electrical engineering. He has extensive experience in financial and quantitative modeling and model risk management in several US banks. He is the Chief Data Scientist and of the founders of R-Brain which is a platform for developing, sharing and promoting models and applications in Data Science.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com