Skip to main content

Convert Lua scripts into standalone .exe executables with ready-to-use tools and libraries.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lua_to_exe-1.0.tar.gz (14.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lua_to_exe-1.0-py3-none-any.whl (14.2 MB view details)

Uploaded Python 3

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

Hashes for lua_to_exe-1.0.tar.gz
Algorithm Hash digest
SHA256 c74457d9a9ef9e94bd9be2f564f9a598260f149d9251d4c911d7366b4d30a60d
MD5 fbe6599072095ee772ba71c6502abf77
BLAKE2b-256 7bf4141fcf95fb27fd6baca3eb6c5dc598f7288468561313c3401af6dd4be907

See more details on using hashes here.

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

Hashes for lua_to_exe-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3352d37223eac39e94821f6c0957f905767f77684bf39eabdda9695928b909af
MD5 da1f2e4baf3f18fd89b18628b099455f
BLAKE2b-256 431349b88d5c946f6ca321ccf868cd68fed01f1b2ef0b260f9b6123c12376e66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page