All Projects → jupyter-xeus → Xeus Cling

jupyter-xeus / Xeus Cling

Licence: bsd-3-clause
Jupyter kernel for the C++ programming language

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Xeus Cling

jupyter-elm-kernel
A Jupyter kernel for running Elm code.
Stars: ✭ 66 (-96.76%)
Mutual labels:  jupyter-kernels
Enterprise gateway
A lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.
Stars: ✭ 412 (-79.78%)
Mutual labels:  jupyter-kernels
Almond
A Scala kernel for Jupyter
Stars: ✭ 1,354 (-33.56%)
Mutual labels:  jupyter-kernels
spylon-kernel
Jupyter kernel for scala and spark
Stars: ✭ 160 (-92.15%)
Mutual labels:  jupyter-kernels
Kernel gateway
Jupyter Kernel Gateway
Stars: ✭ 337 (-83.46%)
Mutual labels:  jupyter-kernels
Ijava
A Jupyter kernel for executing Java code.
Stars: ✭ 614 (-69.87%)
Mutual labels:  jupyter-kernels
notebook-environments
Manage python virtual environments on the working notebook server
Stars: ✭ 43 (-97.89%)
Mutual labels:  jupyter-kernels
Sos Notebook
Multi-language Jupyter Notebook
Stars: ✭ 118 (-94.21%)
Mutual labels:  jupyter-kernels
Hydrogen
Run code interactively, inspect data, and plot. All the power of Jupyter kernels, inside your favorite text editor.
Stars: ✭ 3,763 (+84.64%)
Mutual labels:  jupyter-kernels
Juniperkernel
R Kernel for Jupyter
Stars: ✭ 67 (-96.71%)
Mutual labels:  jupyter-kernels
imongo
A MongoDB kernel for Jupyter
Stars: ✭ 51 (-97.5%)
Mutual labels:  jupyter-kernels
Ielixir
Jupyter's kernel for Elixir programming language
Stars: ✭ 312 (-84.69%)
Mutual labels:  jupyter-kernels
Xeus
Implementation of the Jupyter kernel protocol in C++
Stars: ✭ 693 (-66%)
Mutual labels:  jupyter-kernels
coq jupyter
Jupyter kernel for Coq
Stars: ✭ 70 (-96.57%)
Mutual labels:  jupyter-kernels
Common Lisp Jupyter
A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels.
Stars: ✭ 101 (-95.04%)
Mutual labels:  jupyter-kernels
huginn
Programming language with no quirks, so simple every child can master it.
Stars: ✭ 41 (-97.99%)
Mutual labels:  jupyter-kernels
Wolframlanguageforjupyter
Wolfram Language kernel for Jupyter notebooks
Stars: ✭ 542 (-73.41%)
Mutual labels:  jupyter-kernels
Spylon Kernel
Jupyter kernel for scala and spark
Stars: ✭ 129 (-93.67%)
Mutual labels:  jupyter-kernels
Irkernel
R kernel for Jupyter
Stars: ✭ 1,379 (-32.34%)
Mutual labels:  jupyter-kernels
Dyalog Jupyter Kernel
A Jupyter kernel for Dyalog APL
Stars: ✭ 26 (-98.72%)
Mutual labels:  jupyter-kernels

xeus-cling

Azure Pipelines 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 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.

Installation with mamba or conda

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

Installation from source

You will first need to create a new environment and install the dependencies:

mamba create -n xeus-cling -c conda-forge cmake "xeus>=2.0,<3.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 "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

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 quick help is available for the standard library, and can be made available for third-party 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 >=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.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.

Contributing

See CONTRIBUTING.md to know how to contribute and set up a development 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].