• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

C++ backend for Jupyter interactive widgets

xwidgets

Azure Pipelines Appveyor Documentation Binder Join the Gitter Chat

A C++ backend for Jupyter interactive widgets.

Introduction

xwidgets is a C++ implementation of the Jupyter interactive widgets protocol. The Python reference implementation is available in the ipywidgets project.

xwidgets enables the use of the Jupyter interactive widgets in the C++ notebook, powered by the xeus-cling kernel and the cling C++ interpreter from CERN. xwidgets can also be used to create applications making use of the Jupyter interactive widgets without the C++ kernel per se.

Usage

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

Widgets

Installation

We provide a package for the mamba (or conda) package manager.

  • Installing xwidgets and the C++ kernel
mamba install xeus-cling xwidgets -c conda-forge

Then, the front-end extension must be installed for either the classic notebook or JupyterLab.

  • Installing the extension for the classic notebook
mamba install widgetsnbextension -c conda-forge
  • Installing the JupyterLab extension
jupyter labextension install @jupyter-widgets/jupyterlab-manager

This command defaults to installing the latest version of the JupyterLab extension. Depending on the version of xwidgets and jupyterlab you have installed you may need an older version.

Installation from sources

Or you can directly install it from the sources if you have all the dependencies already installed:

cmake -D CMAKE_INSTALL_PREFIX=your_install_prefix
make install

Trying it online

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

Binder

Documentation

To get started with using xwidgets, check out the full documentation

http://xwidgets.readthedocs.io/

Dependencies

All the dependencies of xwidgets are available for the mamba (or conda) package manager.

xwidgets jupyterlab_widgets widgetsnbextension xtl xproperty xeus nlohmann_json
master ^3.0.0 ^4.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=3.0,<4.0 >=3.9.1,<3.10
0.28.0 ^3.0.0 ^4.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=3.0,<4.0 >=3.9.1,<3.10
0.27.3 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=3.0,<4.0 >=3.9.1,<3.10
0.27.2 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=3.0,<4.0 >=3.9.1,<3.10
0.27.1 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=3.0,<4.0 >=3.9.1,<3.10
0.27.0 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=3.0,<4.0 >=3.9.1,<3.10
0.26.1 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=2.0,<3.0 >=3.9.1,<3.10
0.26.0 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=2.0,<3.0 >=3.9.1,<3.10
0.25.0 ^3.0.0 >=0.7,<0.8 >=0.11.0,<0.12 >=1.0,<2.0 >=3.6.1,<4.0

Packages jupyterlab_widgets and widgetsnbextension are not dependencies per se, but hold the frontend counterparts for JupyterLab and the classic notebook respectively that must be installed in the environment of the Jupyter server.

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.

More Repositories

1

xeus-cling

Jupyter kernel for the C++ programming language
C++
2,682
star
2

xeus

Implementation of the Jupyter kernel protocol in C++
C++
838
star
3

cpp-terminal

C++ library for writing multiplatform terminal applications
C++
447
star
4

xeus-python

Jupyter kernel for the Python programming language
C++
431
star
5

xeus-sqlite

Jupyter kernel for SQLite
C++
156
star
6

xeus-sql

Jupyter kernel for SQL databases
C++
148
star
7

xleaflet

C++ backend for the jupyter leaflet widget
C++
77
star
8

xeus-octave

Jupyter kernel for GNU Octave
Jupyter Notebook
57
star
9

xeus-lua

Jupyter kernel for the Lua programming language
C++
40
star
10

xproperty

Traitlets-like C++ properties and implementation of the observer pattern
C++
36
star
11

xeus-robot

Jupyter kernel for Robot Framework
Jupyter Notebook
30
star
12

xeus-calc

Jupyter kernel for a simple calculator
C++
17
star
13

xeus-python-wheel

Building a PyPI wheel for xeus-python
CMake
12
star
14

xena

The world needs Xena, stay tuned!
CMake
8
star
15

xeus-nelson

Jupyter kernel for Nelson
C++
7
star
16

xeus-cookiecutter

Cookiecutter for xeus-based Jupyter kernels
CMake
5
star
17

xhale

Converter from sphinx and breathe inventory files to doxygen tag files
Python
5
star
18

xeus-qt

ZeroMQ-based middleware for xeus integrated in the Qt event loop
CMake
5
star
19

xeus-wren

Jupyter kernel for the Wren programming language
C++
5
star
20

xeus-zmq

ZeroMQ-based middleware for xeus
C++
5
star
21

xcanvas

C++ back-end for ipycanvas
C++
5
star
22

robotframework-interpreter

Utilities for building a Robot Framework interpreter
Python
3
star
23

xvega-bindings

xvega bindings for xeus
C++
3
star
24

xeus-lite

Emscripten-based middleware for xeus
C++
2
star
25

xeus-python-shell

Core Python code for xeus-python
Python
2
star