Skip to main content

lua-to-exe

lua-to-exe is part of the luaToEXE project 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 srlua directory.


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_version parameter 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 under srlua/.
  • Raises RuntimeError on 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 both srlua.exe and srglue.exe for 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.

Metadata

Release files for lua-to-exe 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lua-to-exe 1.0
File Size Uploaded
lua_to_exe-1.0.tar.gz 14.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for lua-to-exe 1.0
File Interpreter ABI Platform
lua_to_exe-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.3 MB

Release files / lua_to_exe-1.0.tar.gz

Download URL lua_to_exe-1.0.tar.gz
Size 14.1 MB
Tags Source
SHA-256 checksum
How to use checksums
c74457d9a9ef9e94bd9be2f564f9a598260f149d9251d4c911d7366b4d30a60d
BLAKE2b-256 checksum
How to use checksums
7bf4141fcf95fb27fd6baca3eb6c5dc598f7288468561313c3401af6dd4be907
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.4

Release files / lua_to_exe-1.0-py3-none-any.whl

Download URL lua_to_exe-1.0-py3-none-any.whl
Size 14.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3352d37223eac39e94821f6c0957f905767f77684bf39eabdda9695928b909af
BLAKE2b-256 checksum
How to use checksums
431349b88d5c946f6ca321ccf868cd68fed01f1b2ef0b260f9b6123c12376e66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.4

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page