Skip to content

guysv/ilua

Repository files navigation

ILua

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

Features

  • Lua-implementation agnostic
  • Code completions
  • Code inspection
    • Retrieve function documentation
    • Can even retrieve the function source if available (invoked with ??)
  • Pretty-printed results
  • Access last result with _
  • Cross-session execution history
  • Works on Linux and Windows
  • No native dependencies for Lua
  • Python's pip based installation

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.