OneLuaPro is ...
- a portable, monolithic, and curated distribution of the Lua programming language for the Windows operation system,
- natively built with Intel® oneAPI C++ compiler,
- provided as
x64signed binaries and signed installers 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 ...
- a modern development workflow via Visual Studio Code using customized extensions (Lua Language Server, Local Lua Debugger). These extensions can be installed from
.vsixfiles found under<INSTALL_PATH>/opt/vscode, - an 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 provided signed installer packages.
OneLuaPro is optimized for high-performance numerical computing using modern CPU instruction sets. To achieve the best balance between compatibility and speed, the complete distribution is compiled with Intel oneAPI C-compiler using multi-target dispatching.
- Intel: 2nd Generation Core processors (Sandy Bridge, 2011) or newer,
- AMD: Bulldozer-based processors (FX-series, 2011) or newer,
- OS: Windows 7 SP1, Windows 10, or Windows 11 (required for AVX state management).
Important
CPUs older than 2011 (e.g., Core 2 Duo, 1st Gen i5) are not supported and will result in an "Illegal Instruction" error.
All OneLuaPro binaries feature Dynamic Dispatch, meaning they automatically detect your CPU's capabilities at runtime and activate the fastest available code path:
- AVX (Standard): Provides 256-bit vectorization on older systems (e.g., i5-2xxx/3xxx),
- AVX2 (Advanced): Enabled automatically on Intel Haswell (4th Gen) and newer, as well as all AMD Ryzen processors,
- AVX-512 (Ultra): Leverages 512-bit registers on modern Intel Xeon and high-end Core i7/i9 processors (11th Gen+) for maximum throughput.
Download OneLuaPro from here: https://github.com/OneLuaPro/OneLuaPro/releases
Notice that all executables, all DLL, both installer and uninstaller (in case of NSIS64 option), as well as the MSI-install package are provided as certified code-signed binaries.
Double-click the installer and follow the installer wizard. This installer requires administrative rights. A scripted installation or removal is also possible. When launched from an elevated command prompt, the User Account Control prompt will be circumvented.
# Standard non-interactve installation into c:\Program Files\OneLuaPro
msiexec.exe /i OneLuaPro-<VERSION>-x64.msi /qb
# Customized non-interactive installation into c:\Apps\OneLuaPro
msiexec.exe /i OneLuaPro-<VERSION>-x64.msi /qb INSTALL_ROOT="C:\Apps\OneLuaPro"
# Standard non-interactve removal (from default installation path)
msiexec.exe /x OneLuaPro-<VERSION>-x64.msi /qb
# Customized non-interactive removal (from custom installation path)
msiexec.exe /x OneLuaPro-<VERSION>-x64.msi /qb INSTALL_ROOT="C:\Apps\OneLuaPro"The installer creates or removes entries in the Windows Start Menu and updates the PATH-variable accordingly. Software removal is also possible via Windows Settings "Apps & Features".
Double-click the installer and follow the installer wizard. This installer does not require administrative rights. The installer creates entries in the Windows Start Menu and updates the PATH-variable. Software removal is also possible via Windows Settings "Apps & Features".
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>-x64\bin. Documentation and code examples are located in <OneLuaPro_Install_Path>\share\doc.
First, install OneLuaPro. Then, install all provided extensions either from VSCode Marketplace or from <INSTALL_PATH>\opt\vscode. These code-signed extensions are pre-configured and require no further adjustment.
Important
All extensions assume lua.exe is available in your PATH. Make sure it can be called from any directory.
Tip
This section applies to all OneLuaPro releases prior to v5.5.0.0. Starting with this version, all runtime libraries are statically linked.
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
PATHenvironment variable being too long to be extended for OneLuaPro, install without updating the variable and editPATHmanually 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\bintoC:\Program Files\OneLuaPro\opt\ZeroBraneStudio. This flaw may also occur after installation using the provided ZIP-archive.
Documentation and reference manuals are available via the OneLuaPro Help Center. A link to the Help Center is automatically added to the Start menu entry. You can also access it directly at <INSTALL_PATH>\share\doc\index.html.
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. All version numbers follow the v[Base]-[Commits]-[Hash] format: The first part indicates the stable base version, followed by the number of additional changes since the last release, and a short identifier (hash) of the exact source code.
| 👉 Are you missing an important Lua extension or Lua library? Please let us know [here](OneLuaPro · Discussions · GitHub). 👈 |
|---|
| Extension | Purpose | Version | License |
|---|---|---|---|
| Lua | The Lua 5.5 Programming Language | v5.5.0-5-g4154493 |
|
| lsleep | Adds the missing sleep() and usleep() functions to Lua. |
v1.05-6-g531d702 |
|
| Penlight | Inspired by the Python standard library, this suite of pure Lua tools provides robust utilities for input data handling, functional programming, and OS path management. | v1.15.0-19-g9ece351 |
|
| say | Lua string hashing library, useful for internationalization | v1.4.1-2-ge4436ea |
|
| luasystem | Platform independent system calls for Lua | v0.7.0-7-gf61f8f5 |
|
| lua-utf8 | UTF-8 support module for Lua | v0.2.1-7-g3ae0b91 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| lcomplex | Lua complex numbers support module | v1.1.0 |
|
| luacrc32c | Lua bindings for Google's CRC-32C implementation | v1.0.1 |
|
| lua-cjson | Fast JSON encoding/parsing module for Lua | 2.1.0.16-16-g7eee8b5 |
|
| inifile | A simple and complete ini-File Parser for Lua | v1.1-2-gf7b742d |
|
| LPeg | Parsing Expression Grammars For OneLuaPro | v1.1.0-6-g645d404 |
|
| dkjson | JSON module written in Lua | v2.8-1-gf1b7c93 |
|
| luaSGF | Lua bindings for the Savitzky-Golay-Filter Implementation for data filtering or smoothing | v2.0.1 |
|
| lua-zlib | Simple streaming interface to zlib for Lua | v1.4-6-gdb5b875 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| lsqlite3 | Extended lsqlite3 module for Lua: A lightweight SQLite3 wrapper featuring the complete SQLean power-pack | v0.9.6-2 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| argparse | Feature-rich command line parser for Lua inspired by argparse for Python | v0.7.1-13-gdebe947 |
|
| lua_cliargs | Command-line argument parsing module for Lua | v3.0.2-7-gc4cf5f0 |
|
| ldoc | Lua documentation generator which can also process C extension source files | v1.5.0-23-g38be0fa |
|
| 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-40-g68c84bd |
| Extension | Purpose | Version | License |
|---|---|---|---|
| wxLanesBridge | A module providing thread-safe communication between wxLua and Lanes via a custom C++ bridge for asynchronous GUI updates | v1.0.1 |
|
| wxLua | wxLua is a Lua wrapper for the cross-platform wxWidgets GUI library | v3.2.0.2-18-gc5e0cbb |
| Extension | Purpose | Version | License |
|---|---|---|---|
| luv | Bare libuv bindings for Lua | v1.52.1-0-30-gb115c8a |
|
| lua-ffi | A portable lightweight C foreign function interface (FFI) for Lua, based on libffi | v1.1.0-31-ga8ae836 |
|
| LuaFileSystem | Complements the set of functions related to file systems offered by the standard Lua distribution | v1.9.0-10-g707cb06 |
|
| lua4882 | OneLuaPro gateway to National Instrument's NI-488.2 (GPIB) driver | v1.2.3 |
|
| luadaqmx | OneLuaPro gateway to National Instrument's DAQmx driver | v0.1.2 |
|
| librs232 | Multi-platform library for serial communications over RS-232 (serial port) | v1.0.3-119-gda35def |
|
| lua-term | Terminal operations for Lua | v0.8-7-g75066e0 |
|
| MoonUSB | Lua binding library for libusb, allowing applications to access and use USB devices. | v0.1-30-gebc05a5 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| distro | OneLuaPro Distro Information and Distribution Integrity Checker | v2.1.0 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| Lua-cURLv3 | Lua binding to libcurl | v0.3.13-6-gbd885bd |
|
| lua-openssl | OpenSSL bindings for Lua | 0.11.0-3-25-gd068708 |
|
| luaping | The missing ping command for Lua | v1.1.1 |
|
| LuaSocket | Network support for the Lua language | v3.1.0-72-gd6bd8b5 |
|
| luasec | Secure connections to any Lua application or script | v1.3.2-5-gc02dd57 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| luaCOM | Microsoft Component Object Model (COM) binding for Lua | v1.4.1-93-g16aebd4 |
| Extension | Purpose | Version | License |
|---|---|---|---|
| luassert | Assertion library for Lua | v1.9.0-13-g0e2569d |
|
| lanes | Lua Lanes - multithreading in Lua | v4.0.0-42-g70389ef |
|
| mediator_lua | Mediator pattern implementation for pub-sub management | v1.1.2-0-8-gefa5daf |
|
| lunit | Unit testing for Lua | v0.8.1-1-g61e9b3a |
|
| busted | Elegant Lua unit testing | v2.3.0-9-gfddc67b |
| Extension | Purpose | Version | License |
|---|---|---|---|
| DistroCheck | Distribution Integrity Checker | v2.1.0 |
|
| ZeroBrane Studio | lightweight cross-platform Lua IDE with code completion, syntax highlighting, remote debugger, code analyzer, live coding, and debugging support | v2.01-12-g14b97a19 |
OneLuaPro uses the following libraries:
| Dependency | Purpose | Used by | Version | License |
|---|---|---|---|---|
| libffi | A Portable Foreign Function Interface Library. | lua-ffi | v3.5.2-34-g26c59e0 |
|
| libusb | A library for USB device access. | MoonUSB | v1.0.30-rc1-38-gaea2f056 |
|
| libuv | Cross-platform asynchronous I/O | luv | v1.52.1 |
|
| NI‑DAQmx | Provides a high‑performance, unified API for controlling and acquiring data from National Instruments measurement hardware | luadaqmx | 2026 Q2 |
See here |
| NI-488.2 | Provides support for customers using NI GPIB controllers and NI embedded controllers with GPIB ports | lua4882 | 2026 Q2 |
See here |
| wxWidgets | wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls | wxLua | v3.2.10 |
|
| Savitzky-Golay-Filter | C implementation of Least-Squares Smoothing and Differentiation by the Convolution (Savitzky-Golay) Method | luaSGF | v2.0-16-gabed543 |
|
| crc32c | Google's implantation of the CRC-32C hashing algorithm | luacrc32c | v1.1.2-12-g10693bf |
|
| zlib-ng | zlib replacement with optimizations for "next generation" systems | lua-zlib | v2.3.3 |
|
| dlfcn-win32 | dlfcn-win32 is an implementation of dlfcn for Windows |
Prerequisite for building lua-ffi | v1.4.2-19-g614073d |
|
| libressl | An open-source implementation of the Transport Layer Security (TLS) protocol | luasec, lua-openssl | v4.2.1-1-gc88f4da |
See here |
| SQLite | SQL database engine | sqlean | v3.51.3 |
Public Domain |
| sqlean | The ultimate set of SQLite extensions | lsqlite3 | v0.28.1-12-g4141d89 |
|
| brotli | Brotli compression format | curl | v1.2.0 |
|
| zstd | Fast real-time compression algorithm | curl | v1.5.7 |
|
| nghttp2 | HTTP/2 C Library and tools | curl | v1.68.1 |
|
| ngtcp2 | IETF QUIC protocol implementation | curl | v1.21.0 |
|
| nghttp3 | HTTP/3 library written in C | curl | v1.15.0 |
|
| curl | Library for transferring data with URL syntax | Lua-cURLv3 | v8.19.0 |
See instructions in OneLuaPro head repository: https://github.com/OneLuaPro/OneLuaPro
See https://github.com/OneLuaPro/OneLuaPro/blob/main/LICENSE.txt.
