Oct. 14, 2020, 4 p.m.–Oct. 14, 2020, 4:30 p.m.
in Jupyter Core
Xeus: an ecosystem of Jupyter kernels
- Audience level:
Xeus is a C++ implementation of the Jupyter kernel protocol, and a framework to create Jupyter kernels, which was recently incorporated as a Jupyter subproject.
In this talk, we present the latest evolution of the Xeus stack, specifically with respect to the Cling and Python kernels, as well as the new xeus-sqlite project which was recently announced.
The raison d'être of the Xeus project is to take the burden of implementing the common parts in a separated package and to let the kernel authors focus on the language-specific aspects of their work. Several kernels have already been created with Xeus: xeus-cling (C++), xeus-sqlite (SQLite), xeus-python (alternative Python kernel), JuniperKernel (R), xeus-flit (flit), SlicerJupyter (hooking into the embedded Python interpreter of the Slicer project), and many more.
- In this presentation, we first give an overview of the main Xeus-based Jupyter kernels, and how users can author new kernels with the Xeus library. We present the new xeus-sqlite kernel as an example of a xeus-based language kernel.
- In a second section, we present the newest improvements to the C++ kernel, and we show that C++ is becoming a relevant tool for exploratory data analysis, thanks to the xwidgets stack and the recent improvements to Cling.
- Then, we dive into how xeus-python was developed (as the first backend to the JupyterLab visual debugger), and explain how Xeus' pluggable concurrency model facilitated that use case, as well as the embedding of Jupyter kernels in desktop applications like for SlicerJupyter.
- Finally, we provide a general roadmap for future developments.