xeus-lua
is a Jupyter kernel for Lua based on the native implementation of the
Jupyter protocol xeus.
xeus-lua has been packaged for the mamba (or conda) package manager.
To ensure that the installation works, it is preferable to install xeus-lua
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.
The safest usage is to create an environment named xeus-lua
mamba create -n xeus-lua
source activate xeus-lua
Then you can install in this environment xeus-lua
and its dependencies
mamba install xeus-lua jupyterlab -c conda-forge
Or you can install it from the sources, you will first need to install dependencies
mamba install cmake xeus xwidgets nlohmann_json cppzmq xtl lua jupyterlab -c conda-forge
Then you can compile the sources (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
To try out xeus-lua interactively in your web browser, just click on the binder link:
Launch the Jupyter notebook with jupyter notebook
or Jupyter lab with jupyter lab
and launch a new Python notebook by selecting the xlua kernel.
Code execution and variable display:
Output streams:
Input streams:
Error handling:
Code completion:
Display Data:
And of course widgets:
To get started with using xeus-lua
, check out the full documentation
http://xeus-lua.readthedocs.io
There are several lua kernels available:
- lupyter A python based implementation of a lua jupyter kernel. The heavy lifiting is done in a C-extension.
- ILua: A feature rich implementation. Ilua is implemented in python and does the communication with Lua via IPC.
- IPyLua: IPyLua is a pure Lua implementation.
While these implemetentations are feature rich and work very well, none of the above supports interactive widgets. Since this implementation is based on xeus, we can reuse components from the xeus ecosystem like xwidgets.
xeus-lua
depends on
See CONTRIBUTING.md to know how to contribute and set up a development environment.
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.