Jupyter kernel for the C++ programming language
Clone or download
Latest commit ae727e1 Dec 13, 2018

README.md

xeus-cling

Travis Appveyor Documentation Status Binder Join the Gitter Chat

xeus-cling is a Jupyter kernel for C++ based on the C++ interpreter cling and the native implementation of the Jupyter protocol xeus.

Installation

xeus-cling has been packaged for the conda package manager on the linux and OS X platforms. The build for the windows platform made available on our channel is merely experimental.

To ensure that the installation works, it is preferable to install xeus-cling in a fresh conda environment. It is also needed to use a 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 with your miniconda installation

conda create -n cling
source activate cling

Then you can install in this environment xeus-cling and its dependencies

conda install xeus-cling notebook -c QuantStack -c conda-forge

Or you can install it directly from the sources, if all the dependencies are already installed.

cmake -DCMAKE_INSTALL_PREFIX=your_conda_path -DCMAKE_INSTALL_LIBDIR=your_conda_path/lib
make && make install

Trying it online

To try out xeus-cling interactively in your web browser, just click on the binder link:

Binder

Documentation

To get started with using xeus-cling, check out the full documentation

http://xeus-cling.readthedocs.io/

Usage

Launch the jupyter notebook with jupyter notebook and launch a new C++ notebook by selecting the C++14 kernel in the new dropdown.

A C++ notebook

You can now make use of the C++ programming language in the Jupyter notebook.

A C++ notebook

Inline help and tab-completion

Quick help is shown on the pager with the special ? magic.

Help

Content for the help is available for the standard library and the QuantStack packages.

Rendering of rich outputs

Rich output

Jupyter interactive widgets

A C++ backend for the Jupyter interactive widgets is available in the xwidgets package.

Widgets

Dependencies

xeus-cling depends on

xeus-cling xeus xtl cling pugixml cppzmq cxxopts nlohmann_json dirent (windows only)
master >=0.18.1,<0.19 >=0.5.2,<0.6 >=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.4.10 >=0.18.1,<0.19 >=0.5.2,<0.6 >=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.4.9 >=0.17.0,<0.18 >=0.5.1,<0.6 >=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.4.8 >=0.15.0,<0.16 >=0.4.0,<0.5 >=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.4.7 >=0.14.1,<0.15 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.3.0 >=2.1.1,<=3.0 >=3.1.2,<4.0 >=2.3.2,<3
0.4.6 >=0.13.0,<0.14 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=2.1.1,<=3.0 >=3.1.0,<4.0 >=2.3.2,<3
0.4.5 >=0.13.0,<0.14 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=2.1.0,<=3.0 >=3.1.0,<4.0 >=2.3.2,<3
0.4.4 >=0.12.0,<0.13 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=2.1.0,<=3.0 >=3.1.0,<4.0 >=2.3.2,<3
0.4.3 >=0.12.0,<0.13 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0 >=2.3.2,<3
0.4.2 >=0.12.0,<0.13 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0 >=2.3.2,<3
0.4.1 >=0.12.0,<0.13 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0 >=2.3.2,<3
0.4.0 >=0.12.0,<0.13 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0 >=2.3.2,<3
0.3.0 >=0.11.0,<0.12 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0 >=2.3.2,<3
0.2.4 >=0.11.0,<0.12 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0
0.2.3 >=0.11.0,<0.12 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0
0.2.2 >=0.11.0,<0.12 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0
0.2.1 >=0.11.0,<0.12 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0
0.2.0 >=0.11.0,<0.12 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0 >=3.1.0,<4.0
0.1.0 >=0.10.1,<0.11 >=0.4.0,<0.5 >=0.5,<0.6 ~1.8.1 ~4.2.3 >=1.4.1,<=2.0
0.0.10 >=0.9.0,<0.10 >=0.3.4,<0.4 >=0.3,<0.4 ~1.8.1 ~4.2.2 >=1.4.1,<=2.0
0.0.9 >=0.9.0,<0.10 >=0.3.4,<0.4 >=0.3,<0.4 ~1.8.1 ~4.2.2 >=1.4.1,<=2.0

xeus-cling requires its dependencies to be built with the same compiler and same C runtime as the one used to build cling.

The QuantStack channel provides a xeus, cling and their dependencies built with gcc-7 We highly recommend installing these dependencies from QuantStack in a clean conda installation or environment.

License

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.