2025-10-01 –, Louis Armand 1 - Est
xeus-cpp is the next-generation Jupyter kernel for C++, replacing the outdated xeus-cling. It support recent versions of the language, comes with new features, can be extended and even provide a jupyter-lite kernel.
xeus-cling, a Jupyter Kernel for C++, has been around for many years. It is based on xeus, a native implementation of the Jupyter Kernel protocol, and cling, a C++ interpreter developed at the CERN, based on an outdated version of Clang. This limits its capabilities and compatibility with modern C++ features and makes it hard to maintain on all the platforms.
More recent versions of Clang have incorporated a Read-Eval-Print-Loop in their code base, making it possible to use them directly in interactive development environments like Jupyter Notebooks. xeus-cpp leverages these advancements to provide a smoother and more powerful C++ programming experience in Jupyter.
In this talk, we will first demonstrate xeus-cpp and give an overview of the new features it provides compared to xeus-cling. We will then dive into its architecture and explain how users can extend it thanks to its plugin system.
In the next section, we will show that xeus-cpp also provides a jupyter-lite kernel running entirely in the browser, enabling larger-scale deployment. We will conclude with a roadmap of future developments, including a debugger for C++ in Jupyter!
Johan Mabille is a Technical Director specialized in high-performance computing in C++. He holds a master's degree in computer science from Centrale-Supelec. As an open source developer, Johan coauthored xtensor , xeus , and xsimd.
He leads the C++ team at QuantStack, where he oversees the development and maintenance of mamba, sparrow, and the Jupyter Xeus project.
Johan has also made significant contributions to JupyterLab.
Prior to joining QuantStack, Johan worked as a quant developer at HSBC.
Open Source Contractor at QuantStack working on the projects revolving around the stack revolving Jupyter, LLVM and WASM.