guysv / ilua

Portable Lua kernel for Jupyter
GNU General Public License v2.0
115 stars 11 forks source link
console-application interactive jupyter jupyter-kernels lua prototyping

ILua

ILua is a feature-packed, portable console and Jupyter kernel for the Lua language.

Features

Installation

pip install ilua

# From source
git clone https://github.com/guysv/ilua.git --recurse-submodules
cd ilua
pip install -e . --user
python setup.py install_data -d ~/.local # pip install -e . forgets data_files...

A Bit on ILua's Architecture

As opposed to existing Lua Jupyter kernels which implement the Jupyter protocol in Lua (and depend on lzmq which is a native module), ILua implements the communication with Jupyter in Python, which in turn talks with Lua via named-pipe IPC. This frees ILua from being bounded to a single Lua implementation ABI. The Lua interpreter only needs to respect the $LUA_PATH environment variable and execute a file given as the first argument.