Skip to content

guysv/ilua

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.