prajak002 / xeus-cpp

Jupyter kernel for the C++ programming language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xeus-cpp

Build Status Documentation Status Binder codecov

xeus-cpp is a Jupyter kernel for cpp based on the native implementation of the Jupyter protocol xeus.

Installation within a mamba envirnoment

xeus-cpp has not been packaged for the mamba (or conda) package manager.

To ensure that the installation works, it is preferable to install xeus-cpp 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.

First clone the repository, and move into that directory

git clone --depth=1 https://github.com/compiler-research/xeus-cpp.git
cd ./xeus-cpp

The safest usage of xeus-cpp is to build and install it within a clean environment named xeus-cpp. You can create and activate this environment with mamba by executing the following

mamba create -n  "xeus-cpp"
source activate  "xeus-cpp"

We will now install the dependencies needed to compile xeux-cpp from source within this environment by executing the following

mamba install notebook cmake cxx-compiler xeus-zmq nlohmann_json cppzmq xtl jupyterlab clangdev=16 cpp-argparse pugixml doctest -c conda-forge

Now you can compile the kernel from the source by executing (replace $CONDA_PREFIX with a custom installation prefix if need be)

mkdir build && cd build
cmake .. -D CMAKE_PREFIX_PATH=$CONDA_PREFIX -D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX -D CMAKE_INSTALL_LIBDIR=lib
make && make install

Documentation

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

http://xeus-cpp.readthedocs.io

Dependencies

xeus-cpp depends on

xeus-cpp xeus-zmq xtl clang pugixml cppzmq cpp-argparse nlohmann_json dirent (windows only)
main >=1.0.0,<2.0.0 >=0.7.7,<0.8.0 >=16,<17 ~1.8.1 ~4.3.0 ~2.9 >=3.6.1,<4.0 >=2.3.2,<3
0.3.0 >=1.0.0,<2.0.0 >=0.7.7,<0.8.0 >=16,<17 ~1.8.1 ~4.3.0 ~2.9 >=3.6.1,<4.0 >=2.3.2,<3
0.2.0 >=1.0.0,<2.0.0 >=0.7.7,<0.8.0 >=16,<17 ~1.8.1 ~4.3.0 ~2.9 >=3.6.1,<4.0 >=2.3.2,<3
0.1.0 >=1.0.0,<2.0.0 >=0.7.0,<0.8.0 >=16,<17 ~1.8.1 ~4.3.0 ~2.9 >=3.6.1,<4.0 >=2.3.2,<3
0.0.1 >=1.0.0,<2.0.0 >=0.7.0,<0.8.0 >=16,<17 ~1.8.1 ~4.3.0 ~2.9 >=3.6.1,<4.0 >=2.3.2,<3

Contributing

See CONTRIBUTING.md to know how to contribute and set up a development environment.

License

This software is licensed under the BSD 3-Clause License. See the LICENSE file for details.

About

Jupyter kernel for the C++ programming language

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Jupyter Notebook 58.3%Language:C++ 33.6%Language:CMake 7.5%Language:Python 0.6%