A Jupyter kernel for C++ that enables interactive computing with cling interpreter and xeus protocol.
xeus-cling is a Jupyter kernel for the C++ programming language that enables interactive computing in Jupyter notebooks. It combines the cling C++ interpreter with the xeus native Jupyter protocol implementation to provide a seamless REPL experience for C++ developers. This allows for rapid prototyping, data exploration, and educational use of C++ in an interactive environment.
C++ developers, researchers, educators, and data scientists who want to use C++ interactively in Jupyter notebooks for prototyping, data analysis, or teaching.
Developers choose xeus-cling because it offers a fully-featured, native C++ Jupyter kernel with rich output rendering, tab-completion, and inline help. It integrates tightly with the Jupyter ecosystem while leveraging the performance and expressiveness of C++.
Jupyter kernel for the C++ programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables executing C++ code interactively in Jupyter notebooks with C++17 support, providing a familiar environment for prototyping and data exploration as highlighted in the README.
Supports rendering images, plots, and other rich outputs directly in notebooks, with examples shown in the documentation for enhanced visualization.
Offers tab-completion and quick documentation access for standard library and third-party packages using the '?' magic, improving developer productivity.
Integrates with Jupyter interactive widgets via the xwidgets package for dynamic visualizations, extending functionality beyond basic code execution.
Officially does not provide packages for Windows, limiting its use to Linux and OS X only, as explicitly stated in the installation section of the README.
Requires precise versioning of multiple dependencies like xeus-zmq and cling, with installation needing conda/mamba environments, which can be error-prone and restrictive.
Relies on the cling C++ interpreter, which may introduce performance trade-offs and lack full optimization compared to standard compiled C++ for resource-intensive tasks.