xeus-cling
is a Jupyter kernel for C++ based on the C++ interpreter cling and
the native implementation of the Jupyter protocol xeus.
xeus-cling has been packaged for the mamba (or conda) package manager on the Linux and OS X platforms. At the moment, we are not providing packages for the Windows platform.
To ensure that the installation works, it is preferable to install xeus-cling
in a fresh environment. It is also needed to use a miniforge or miniconda installation because with the full anaconda you may have a conflict with the ZeroMQ
library which is already installed in the anaconda distribution.
The safest usage is to create an environment named cling
:
mamba create -n cling
source activate cling
Then you can install in this environment xeus-cling
and its dependencies
mamba install xeus-cling -c conda-forge
You will first need to create a new environment and install the dependencies:
mamba create -n xeus-cling -c conda-forge cmake "xeus-zmq>=1.0,<2.0" cling=0.8 clangdev=5.0.0 llvmdev=5 "nlohmann_json>=3.9.1,<3.10" "cppzmq>=4.6.0,<5" "xtl>=0.7,<0.8" pugixml "doctest>=2.4.6" "cxxopts>=2.1.1,<2.2"
source activate xeus-cling
You can then compile the sources:
cmake -D CMAKE_INSTALL_PREFIX=${CONDA_PREFIX} -D CMAKE_C_COMPILER=$CC -D CMAKE_CXX_COMPILER=$CXX -D CMAKE_INSTALL_LIBDIR=${CONDA_PREFIX}/lib -D DOWNLOAD_GTEST=ON
make && make install
If you don't have a frontend already installed (classic Jupyter Notebook or JupyterLab for instance), install one:
mamba install jupyterlab -c conda-forge
To try out xeus-cling interactively in your web browser, just click on the binder link:
To get started with using xeus-cling
, check out the full documentation
http://xeus-cling.readthedocs.io/
Launch the jupyter notebook with jupyter notebook
and launch a new C++ notebook by selecting the C++14 kernel in the new dropdown.
You can now make use of the C++ programming language in the Jupyter notebook.
Quick help is shown on the pager with the special ?
magic.
Content for the quick help is available for the standard library, and can be made available for third-party packages.
A C++ backend for the Jupyter interactive widgets is available in the xwidgets
package.
xeus-cling
depends on
xeus-cling |
xeus-zmq |
xtl |
cling |
pugixml |
cppzmq |
cxxopts |
nlohmann_json |
dirent (windows only) |
---|---|---|---|---|---|---|---|---|
master | >=1.0.0,<2.0.0 | >=0.7.0,<0.8.0 | >=0.6,<0.9 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.14.0 | >=1.0.0,<2.0.0 | >=0.7.0,<0.8.0 | >=0.6,<0.9 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<4.0 | >=2.3.2,<3 |
Prior to version 0.14, xeus-cling
was depending on xeus
instead of `xeus-zmq:
xeus-cling |
xeus |
xtl |
cling |
pugixml |
cppzmq |
cxxopts |
nlohmann_json |
dirent (windows only) |
---|---|---|---|---|---|---|---|---|
0.13.0 | >=2.0.0,<3.0.0 | >=0.7.0,<0.8.0 | >=0.6,<0.9 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<3.10 | >=2.3.2,<3 |
0.12.1 | >=1.0.0,<2.0.0 | >=0.7.0,<0.8.0 | >=0.6,<0.9 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.12.0 | >=1.0.0,<2.0.0 | >=0.7.0,<0.8.0 | >=0.6,<0.9 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.11.0 | >=0.24.0,<0.26 | >=0.6.23,<0.7 | >=0.6,<0.9 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.10.1 | >=0.24.0,<0.26 | >=0.6.23,<0.7 | >=0.6,<0.8 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=2.2 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.10.0 | >=0.24.0,<0.25 | >=0.6.5,<0.7 | >=0.6,<0.8 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.9.0 | >=0.24.0,<0.25 | >=0.6.5,<0.7 | >=0.6,<0.7 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.8.1 | >=0.23.2,<0.24 | >=0.6.5,<0.7 | >=0.6,<0.7 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.8.0 | >=0.23.2,<0.24 | >=0.6.5,<0.7 | >=0.6,<0.7 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.7.1 | >=0.21.1,<0.22 | >=0.6.5,<0.7 | >=0.5,<0.6 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.7.0 | >=0.21.1,<0.22 | >=0.6.5,<0.7 | >=0.5,<0.6 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.6.1,<4.0 | >=2.3.2,<3 |
0.6.0 | >=0.20.0,<0.21 | >=0.6.1,<0.7 | >=0.5,<0.6 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.3.0,<4.0 | >=2.3.2,<3 |
0.5.1 | >=0.19.1,<0.20 | >=0.6.1,<0.7 | >=0.5,<0.6 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.3.0,<4.0 | >=2.3.2,<3 |
0.5.0 | >=0.19.1,<0.20 | >=0.6.1,<0.7 | >=0.5,<0.6 | ~1.8.1 | ~4.3.0 | >=2.1.1,<=3.0 | >=3.3.0,<4.0 | >=2.3.2,<3 |
xeus-cling
requires its dependencies to be built with the same compiler and same C runtime as the one used to build cling
.
See CONTRIBUTING.md to know how to contribute and set up a development environment.
We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.