The Ariadne team has provided support for Jupyter in two ways, both through Python machine learning support (Ariadne) and through the added ability for JupyterLab to access the Language Server Protocol (LSP).
Ariadne provides domain-specific analysis to assist practitioners of machine learning in Python as they edit their code. By using WALA open source static analysis to analyze control and data flow in code, Ariadne is able to provide an existing IDE with highly supportive machine learning development functionality, making use of LSP.
Features can be categorized into navigational aides, insights into basic python code, domain-specific insights like the dimensions of a tensor, and actionable diagnostic information.
A few examples of Machine Learning Features:
Extras that are nice for Python:
LSP is a open, platform-neutral protocol that enables support for a wide range of IDEs, including Visual Studio Code, and PyCharm. This enables IDEs to ask for needed information about code, enabling the platform to provide features which surface that information to the user.
Jupyter has an ongoing project to integrate Microsoft’s Monaco into JupyterLab. TypeFox has implemented LSP support for Monaco. The Ariadne team has combined these to provide LSP support in JupyterLab. This support, therefore, makes Ariadne tools available in JupyterLab and will hopefully enable other teams to provide support to JuypterLab as well.
Watson Libraries for Analysis (WALA) is a framework for program analysis. Ariadne utilizes WALA support for call graph construction, pointer analysis and dataflow analysis. Through LSP, Ariadne enables any number of IDEs. Due to _LSP_’s use of program locations, the ability to associate information by understanding where in the code the user is looking (i.e. hovering over).
This poster will focus on Illustrating features of Ariadne which focus on machine learning code as it pertains to development within JupyterLab specifically, complete with specific screen shots and live working-code demos will be available when people are interested.
©2018, 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. • firstname.lastname@example.org