OneLuaPro is ...
- a portable, monolithic, and curated distribution of the Lua programming language for the Windows operation system,
- natively built with MSVC compilers,
- provided as
x64
signed binaries and signed installer for Windows 7 to Windows 11, - targeted for corporate application scenarios on computers without permanent Internet access.
OneLuaPro is not ...
- made for compatibility with Lua package managers like
luarocks
.
OneLuaPro supports ...
- easy entry into the Lua world by providing the ZeroBrane Studio Integrated Development Environment (IDE) and the luacheck linter for static code analysis.
OneLuaPro can ...
- be built with minimum effort and toolchain-footprint as all its components are prepared for the CMake build infrastructure,
- be installed entirely without administrative privileges using the released zip-archives,
- be installed or uninstalled using the signed installer package.
Download OneLuaPro here: https://github.com/OneLuaPro/OneLuaPro/releases
Simply double-click the installer and follow the installer wizard. The installer requires administrative rights. All executables, all DLL, the installer as well as the uninstaller are signed with a valid and trustworthy certificate. The installer also creates entries in the Windows Start Menu and updates the PATH
-variable.
Unpack downloaded zip-archive into a directory of your choice. The suggested installation path is c:\Apps
, which is typically accessible without administrative rights. Manually extend PATH
-variable to the bin
directory of your installation, e.g. C:\Apps\OneLuaPro-<VERSION>-Win-x64\bin
. Documentation and code examples are located in <OneLuaPro_Install_Path>\share\doc
. All executables, all DLL within the ZIP-archive are signed with a valid and trustworthy certificate.
The provided installer can be used on Windows 7 but may have some flaws, which can be fixed manually:
- In case the installer complains about
PATH
environment variable being too long to be extended for OneLuaPro, install without updating the variable and editPATH
manually by addingC:\Program Files\OneLuaPro\bin
(or the installation directory of your choice) to the content ofPATH
. - ZeroBraneStudio may complain about a missing DLL (
vcruntime140_1.dll
). Simply copy this DLL fromC:\Program Files\OneLuaPro\bin
toC:\Program Files\OneLuaPro\opt\ZeroBraneStudio
. This flaw may also occur after installation using the provided ZIP-archive.
OneLuaPro comprises not only the Lua programming language binaries, but also a number of mature and widely-used extensions (modules) in their respective most recent version, all of which tailored to OneLuaPro's needs:
Extension | Purpose | Version | License |
---|---|---|---|
Lua | The Lua Programming Language | v5.4.7 | |
LuaSocket | Network support for the Lua language | v3.1.0 with commits until Feb 28, 2025 | |
librs232 | Multi-platform library for serial communications over RS-232 (serial port) | v1.0.3 with commits until Oct 12, 2023 | |
LuaFileSystem | Complements the set of functions related to file systems offered by the standard Lua distribution | v1.8.0 with commits until Oct 28, 2024 | |
argparse | Feature-rich command line parser for Lua inspired by argparse for Python | v0.7.1 | |
Luacheck | Static analyzer and a linter for Lua. It detects various issues such as usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code and more. | v1.2.0 with commits until Dec 5, 2024 | |
lsleep | Adds the missing sleep() and usleep() functions to Lua. |
v1.05 | |
libffi | A Portable Foreign Function Interface Library. | v3.4.7 with commits until Mar 30, 2025 | |
lua-ffi | A portable lightweight C foreign function interface (FFI) for Lua, based on libffi | v1.1.0 | |
libusb | A library for USB device access. | v1.0.28 | |
MoonUSB | Lua binding library for libusb, allowing applications to access and use USB devices. | v0.1 with commits until Jul 25, 2023 | |
libuv | Cross-platform asynchronous I/O | v1.50.0 | |
luv | Bare libuv bindings for Lua | v1.50.0-1 with commits until Feb 5, 2025 | |
lanes | Lua Lanes - multithreading in Lua | v4.0.0 with commits until Mar 22, 2025 | |
luaping | The missing ping command for Lua | v1.1 | |
luadaqmx | OneLuaPro gateway to National Instrument's DAQmx driver | v0.1 with commits until Oct 13, 2024 | |
lua4882 | OneLuaPro gateway to National Instrument's NI-488.2 (GPIB) driver | v1.2.1 | |
LPeg | Parsing Expression Grammars For OneLuaPro | v1.1.0 | |
wxWidgets | wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls | v3.2.7 | |
wxLua | wxLua is a Lua wrapper for the cross-platform wxWidgets GUI library | v3.2.0.2 with commits until Sep 4, 2023 | |
ZeroBrane Studio | lightweight cross-platform Lua IDE with code completion, syntax highlighting, remote debugger, code analyzer, live coding, and debugging support | v2.01 with commits until May 19, 2024 | |
Penlight | A set of pure Lua libraries focusing on input data handling (such as reading configuration files), functional programming (such as map, reduce, placeholder expressions,etc), and OS path management. Much of the functionality is inspired by the Python standard libraries. | v1.14.0 with commits until Nov 7, 2024 | |
lcomplex | Lua complex numbers support module | v1.0 |
See instructions in OneLuaPro head repository: https://github.com/OneLuaPro/OneLuaPro
See https://github.com/OneLuaPro/OneLuaPro/blob/main/LICENSE
.