Convert Lua scripts into standalone .exe executables with ready-to-use tools and libraries.
Project description
lua-to-exe
lua-to-exeis part of theluaToEXEproject suite.
Introduction
lua-to-exe provides a Python library for packaging .lua files into standalone .exe executables.
- The conversion process is powered by
srlua. - Platform limitation: Windows 32/64-bit.
- Supports multiple Lua versions.
The generated executable files can run without any external DLLs. - Includes a GUI interface implemented with Tkinter.
Installation
Install via pip:
pip install lua-to-exe
Directory Structure
.../lua_to_exe/
__init__.py
lua_to_exe.py
srlua/
5.1.5-64/
srlua.exe
srglue.exe
5.4.6-64/
srlua.exe
srglue.exe
...
You can provide multiple Lua interpreter versions under the
srluadirectory.
Usage
1. Python API
Import
import lua_to_exe # Note: use underscore, not `-`
Convert Lua Script to EXE
Default conversion (using Lua 5.1.5-64)
lua_to_exe.lua_to_exe("hello.lua", "hello.exe")
Specify Lua Version
lua_to_exe.lua_to_exe("hello.lua", "hello.exe", lua_version="5.4.6-64")
- The
lua_versionparameter is optional. - If not specified,
"5.1.5-64"is used by default. - The value must match a valid subdirectory under
srlua/.
List All Available Lua Versions
versions = lua_to_exe.all_available()
print(versions) # Example output: ['5.1.5-64', '5.4.6-64']
2. Graphical User Interface (GUI)
Launch the GUI:
lua_to_exe.gui()
Features:
- Select the Lua script and output EXE path.
- Choose the Lua version (from available versions).
- View tool and Lua version info in the window.
- One-click conversion with status feedback.
API Reference
lua_to_exe(lua_file, exe_file, lua_version='5.1.5-64')
Converts a .lua file into a standalone .exe executable.
lua_file(str): Path to the input Lua script.exe_file(str): Path for the output exe file.lua_version(str, optional): Name of the Lua runtime folder, must exist undersrlua/.- Raises
RuntimeErroron error.
all_available()
Returns a list of all available Lua versions (i.e., those with both srlua.exe and srglue.exe present).
gui()
Launches the graphical interface for interactive conversion.
Notes
- Only supports Windows 64-bit.
- Each
srlua/<version>/subdirectory must contain bothsrlua.exeandsrglue.exefor that version. - The available Lua versions are determined by the actual subfolders under
srlua/. - If no version is available, conversion will not be possible.
Example
import lua_to_exe
# List all available Lua versions
print(lua_to_exe.all_available())
# Convert hello.lua to hello.exe using default Lua version
lua_to_exe.lua_to_exe("hello.lua", "hello.exe")
# Convert using a specific Lua version
lua_to_exe.lua_to_exe("hello.lua", "hello.exe", lua_version="5.4.6-64")
# Launch the graphical interface
lua_to_exe.gui()
For more details, please refer to the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lua_to_exe-1.0.tar.gz.
File metadata
- Download URL: lua_to_exe-1.0.tar.gz
- Upload date:
- Size: 14.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c74457d9a9ef9e94bd9be2f564f9a598260f149d9251d4c911d7366b4d30a60d
|
|
| MD5 |
fbe6599072095ee772ba71c6502abf77
|
|
| BLAKE2b-256 |
7bf4141fcf95fb27fd6baca3eb6c5dc598f7288468561313c3401af6dd4be907
|
File details
Details for the file lua_to_exe-1.0-py3-none-any.whl.
File metadata
- Download URL: lua_to_exe-1.0-py3-none-any.whl
- Upload date:
- Size: 14.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3352d37223eac39e94821f6c0957f905767f77684bf39eabdda9695928b909af
|
|
| MD5 |
da1f2e4baf3f18fd89b18628b099455f
|
|
| BLAKE2b-256 |
431349b88d5c946f6ca321ccf868cd68fed01f1b2ef0b260f9b6123c12376e66
|