Coder Social home page Coder Social logo

rodrigoieh / xeus-cling Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jupyter-xeus/xeus-cling

0.0 1.0 0.0 10.54 MB

Jupyter kernel for the C++ programming language

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

CMake 15.56% C++ 71.75% Python 1.39% Jupyter Notebook 11.31%

xeus-cling's Introduction

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

Installation from conda

The safest usage is to create an environment named cling with your miniconda installation:

conda create -n cling
conda activate cling  # Or `source activate cling` for conda < 4.6

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

conda install xeus-cling -c conda-forge

Installation from source

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

conda create -n xeus-cling -c conda-forge cmake xeus=0.25.0 cling=0.7.0 clangdev=5.0 llvmdev=5 nlohmann_json cppzmq xtl pugixml cxxopts
conda 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:

conda install notebook -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 >=0.24.0,<0.26 >=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.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.

xeus-cling's People

Contributors

sylvaincorlay avatar johanmabille avatar gouarin avatar martinrenou avatar jtpio avatar ax3l avatar bluescarni avatar simeonehrig avatar wolfv avatar marcono1234 avatar minrk avatar nthiery avatar r9y9 avatar sean-parent avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.