User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Lua

A curated list of quality Lua packages and resources.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 3, 2020, 9:04 a.m.

Thank you LewisJEllis & contributors
View Topic on GitHub:
LewisJEllis/awesome-lua

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Implementations, Interpreters, and Bindings

The Lua repo, as seen by the Lua team. Mirrored irregularly. Please DO NOT send pull requests. Send any issue to the Lua mailing list https://www.lua.org/lua-l.html

3.88K
923
20d
n/a

Automatically exported from code.google.com/p/llvm-lua

93
18
8y 5m
n/a

The project is superceded by Fengari. See https://fengari.io/

808
96
4y 95d
MIT

A lightweight Lua VM for the browser

462
35
4y 9m
MIT

An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.

864
155
10m
n/a

A pure c# implementation of Lua 5.2 focus on compatibility with Unity

1.03K
309
4y 74d
MIT

Lua in Python

616
96
103d
n/a

Go bindings for Lua C API - in progress

493
141
23d
MIT

GopherLua: VM and compiler for Lua in Go

3.83K
428
109d
MIT

A lightweight, dependency-free library for binding Lua to C++

1.05K
269
73d
n/a

Lua

Lua's original ANSI C interpreter.

High-performance Just-In-Time compiler for Lua.

The Lua VM rewritten in Javascript with seamless JS and DOM interoperability.

Package Managers

De-facto tool for installing Lua modules as packages called "rocks", plus public rock repository and website. Much like npm or pip.

Build Tools and Standalone Makers

A Lua-based Build Tool

114
15
6y 10m
MIT

A highly customizable Lua 5.2 build system, allowing for common external modules to be linked in statically, and built-in modules to be excluded

72
17
5y 6m
MIT

Build a standalone executable from a Lua program.

483
20
5m
CC0-1.0

Batteries included Lua

40
1
28d
n/a

Debugging and Profiling

A tool for tracing Lua script execution and analysing time profiles and coverage

142
20
5y 5d
MIT

StackTracePlus provides enhanced stack traces for Lua.

169
21
4y 9m
n/a

Remote debugger for Lua.

638
143
4m
n/a

A browser-based debug console for LÖVE

220
18
3y 7m
MIT

Simple profiler that works with LuaJIT and produces a report file.

IDEs and Plugins

Emacs major mode for editing Lua

251
63
23d
n/a

Intellisense and Linting for Lua in VSCode

96
19
1y 11m
MIT

Eclipse plugin which provides code completion, debugging, and more. Built on Metalua.

IntelliJ IDEA plugin which, among other things, provides code completion, smart highlighting, and experimental debugging.

Lightweight, customizable, cross-platform Lua-dedicated IDE with code completion and analysis, written in Lua. Has broad debugging support for numerous Lua engines.

Lua editor/debugger extension for VS2012-13 with highlighting, auto-completion, linting, and formatting capabilities.

Utility Belts

Lua Fun is a high-performance functional programming library for Lua designed with LuaJIT's trace compiler in mind.

1.51K
89
3y 6m
n/a

Utility library for functional programming in Lua

530
97
1y 24d
MIT

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.

1.21K
198
55d
MIT

General Lua libraries

223
27
2y 11m
MIT

A little library of useful Lua functions, intended as the 'light' version of Penlight

137
17
5y 8m
n/a

Reactive Extensions for Lua

376
58
10m
MIT

Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1.

Game Engines

Desktop game development platform. Cross-platform, feature-complete, well-adopted.

Development platform for iOS and Android. Proprietary, but used by numerous top games and apps, totaling over 150 million downloads.

Open source, cross-platform, mobile game development framework. Minimalist C++ engine powered by Lua scripting.

Open source, games can run on Linux or on any platform with a recent web browser.

Open source, audio/visual toolkit suitable for small games and experimentation. It runs on Windows, Mac, Linux, HTML5 and iOS.

3D framework for creating virtual reality experiences, inspired by LÖVE 2D.

Game Development

A curated list of amazingly awesome LÖVE libraries, resources and shiny things.

1.89K
135
57d
CC0-1.0

Auto-swaps changed Lua files in a running LÖVE project

200
24
6m
MIT

Fast, lightweight and easy-to-use pathfinding library for grid-based games

527
104
1y 52d
MIT

Lua functions geared towards gamedev

533
50
9m
MIT

🌐🔥 Network multiplayer and messaging for CoronaSDK, Moai, Gideros, LÖVE & Defold

253
45
5m
n/a

A collision detection library for Lua

637
70
2y 9m
MIT

A fast, lightweight tweening library for Lua

222
32
4y 4m
MIT

Tweening/Easing/Interpolating functions for lua. Inspired on jQuery's animate method.

391
63
4y 8m
n/a

A text-based game inspired by tetris.

422
41
1y 5m
Unlicense

A lua-based Pac-Man clone.

327
40
5y 5m
n/a

Mario + Portal platformer

341
56
1y 12m
n/a

Digital Estate Planning: The Game

934
405
58d
n/a

Simple cloud platform supporting analytics, data objects, user management, and more.

A set of lightweight helpers for LÖVE; a game-oriented utility belt.

Edit and share short scripts for the MOAI game engine and run them in the browser using WebGL.

Detect collisions between arbitrarily positioned and rotated shapes of any type.

Logging

Asynchronous logging library for Lua

82
16
2y 76d
MIT

LuaLogging provides a simple API to use logging features in Lua. Its design was based on log4j.

139
62
6y 105d
MIT

Log to syslog, based on LuaLogging.

Web/Networking Platforms

Pegasus.lua is an http server to work with web applications written in Lua language.

263
29
78d
MIT

A fast and scalable web application platform created by extending Nginx with Lua. Today's de-facto Lua web platform, used heavily by Cloudflare, Taobao, Tencent, and others.

Event-driven, non-blocking, LuaJIT-based networking suite and framework, inspired by Tornado.

OpenResty

A List of Quality OpenResty Libraries, and Resources.

1.89K
211
70d
n/a

Lua HTTP client cosocket driver for OpenResty / ngx_lua.

1.45K
497
7m
BSD-2-Clause

An RFC compliant and ESI capable HTTP cache for Nginx / OpenResty, backed by Redis

410
55
7m
n/a

A Lua MVC Web Framework.

867
124
1y 5m
MIT

🦍 The Cloud-Native API Gateway

27.52K
3.59K
8d
n/a

The core piece of OpenResty. Embeds Lua in Nginx and exposes, among other things, the cosocket API for non-blocking sockets (compatible with LuaSocket's API).

Full-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript.

Command-line Utilities

ANSI terminal color manipulation for Lua.

80
25
7y 34d
MIT

A command-line argument parsing module for Lua.

82
17
2y 8m
MIT

Terminal operations for Lua

96
16
1y 10m
MIT

Feature-rich command line parser for Lua

172
26
2y 7m
MIT

Concurrency and Multithreading

Lua Multitasking Environment.

123
16
45d
n/a

Concurrency oriented programming in Lua

156
13
8y 8m
MIT

Low-Level threads(pthreads or WIN32 threads) for Lua.

135
34
4y 10m
MIT

llthreads library rewritten without LuaNativeObjects code generator

64
18
2y 90d
MIT

Lanes is a lightweight, native, lazy evaluating multithreading library for Lua 5.1 to 5.4.

325
72
7m
n/a

luaproc is a concurrent programming library for Lua

98
26
5y 46d
n/a

Library for managing sockets, signals, and threads based on an event loop with coroutines.

Templating

Embedded Lua templates

153
13
1y 4m
n/a

Templating Engine (HTML) for Lua and OpenResty.

752
173
53d
BSD-3-Clause

Mustache template implementation.

Documentation

Lua comments go in, documentation comes out.

8
1
4y 11m
MIT

Documentation generator which modernizes and extends LuaDoc.

Lua port of Docco, the "quick-and-dirty, hundred-line-long, literate-programming-style documentation generator".

Object-oriented Programming

30 lines library for object orientation in Lua

305
43
3y 7m
n/a

Object-orientation for Lua

1.28K
152
2y 8m
MIT

File system and OS

Lua bindings for POSIX APIs

378
103
4m
MIT

File system path manipulation library

38
15
1y 9m
MIT

Extends and complements Lua's built-in set of file system functions.

Bindings to common Unix system APIs, striving for thread-safety.

Time and Date

Date & Time module for Lua 5.x

176
37
12d
MIT

Time-related functions for Lua, inspired in javascript's setTimeout and setInterval

124
22
7y 52d
MIT

Time, Date and Timezone library for lua

92
11
2y 12m
MIT

Image Manipulation

Lua bindings to ImageMagick for LuaJIT using FFI

324
77
8m
n/a

Digital Signal Processing

Lua package that includes functions for Fast Fourier Transformations.

29
1
3y 26d
n/a

Sound/music/DSP engine written for LuaJIT.

Hardware and Embedded Systems

Lua, extended with optimizations and specific features for efficient and portable embedded software development.

Math and Scientific Computing

Numerical/scientific computing framework built on LuaJIT, with an interface to R.

Scientific computing framework with wide support for machine learning algorithms, used by Facebook, Google, and more.

Assorted libraries and tools, many math- or data-related.

Parsing and Serialization

Lua CJSON is a fast JSON encoding/parsing module for Lua

677
339
9m
MIT

JSON parser/encoder for Lua Parses JSON using LPEG for speed and flexibility. Depending on parser/encoder options, various values are preserved as best as possible.

231
44
3y 10m
n/a

A lightweight JSON library for Lua

862
214
5m
MIT

SAX-like streaming XML parser for Lua

130
45
11m
MIT

A self contained Lua MessagePack C implementation.

299
105
2y 5m
n/a

A collection of LPEG patterns

96
7
2y 85d
MIT

A port of LPeg 100% written in Lua.

192
27
2y 11d
n/a

LPeg version 1.0 Parser in pure LuaJIT

97
7
5y 65d
n/a

An extension of LPeg that supports labeled failures

88
11
99d
MIT

LibYAML binding for Lua.

118
25
6d
n/a

Lua library for conversion between markup formats

143
41
1y 6m
MIT

Lexing & Syntax Highlighting in Lua (using LPeg)

60
6
9y 3d
n/a

Lua Protocol Buffers

269
92
3y 60d
MIT

JSON encoder/decoder implemented in pure Lua.

SAX XML parser via binding to the Expat library.

A pattern-matching library for Lua, based on Parsing Expression Grammars.

Humanize

A very complete i18n lib for Lua

163
25
2y 8m
MIT

Human-readable representation of Lua tables

832
153
2y 8m
MIT

Lua serializer and pretty printer.

373
60
1y 9m
n/a

A fast, robust, richly-featured table serialisation library for Lua

64
12
4y 6m
MIT

Lua string hashing library, useful for internationalization

22
14
5y 9m
MIT

Compression

Simple streaming interface to zlib for Lua.

196
85
4m
n/a

Lua binding to libzip.

59
23
1y 8m
n/a

Cryptography

Fork of LuaCrypto, which enables encryption and decryption through OpenSSL

79
59
7y 71d
MIT

A collection of cryptographic primitives written in pure Lua

283
53
8m
MIT

Lua wrapper arount the Tweet NaCl cryptographic library

11
1
2y 56d
MIT

Most comprehensive OpenSSL module in the Lua universe.

96
33
4m
n/a

Network

Network support for the Lua language

1.21K
473
8m
n/a

Websockets for Lua.

329
87
2y 56d
MIT

Lua binding to libcurl

189
57
56d
MIT

HTTP Library for Lua. Supports HTTP(S) 1.0, 1.1 and 2.0; client and server.

507
65
1y 79d
MIT

Data Stores

A pure Lua Postgres driver for use in OpenResty & more

260
60
10d
MIT

Nonblocking Lua MySQL driver library for ngx_lua or OpenResty

591
209
36d
n/a

Pure Lua Cassandra client using CQL binary protocol

69
17
3y 5m
MIT

A Lua client library for the redis key value storage system.

634
218
6y 18d
MIT

Lua redis client driver for the ngx_lua based on the cosocket API

1.51K
394
41d
n/a

A redis client for lua

36
7
4y 10m
MIT

Simple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL.

Message Brokers

Lua zeromq2 binding

149
37
4y 10m
MIT

Lua binding to ZeroMQ

106
38
4m
MIT

Lua kafka client driver for the Openresty based on the cosocket API

653
227
6m
BSD-3-Clause

Opinionated Lua RabbitMQ client library for the ngx_lua apps based on the cosocket API

175
52
7m
n/a

Testing

A highly customizable test library for Lua that allows declarative tests with nested contexts.

138
36
7y 61d
n/a

Assertion library for Lua

90
56
81d
MIT

Lightweight Lua test framework

50
4
10m
MIT

BDD-style unit testing framework with great docs and Moonscript support.

Foreign Function Interfaces

Standalone FFI library for calling C functions from lua. Compatible with the luajit FFI interface.

385
73
7y 27d
n/a

LuaJIT's mechanism for calling external C functions and using C data structures from pure Lua code.

Analysis Tools and ASTs

Lua Decompiler for Lua version 5.1

253
110
6y 1d
MIT

LuaCov reporter for coveralls.io service

43
11
4m
MIT

A tool for linting and static analysis of Lua code.

1.31K
223
2y 54d
MIT

The metalua programming language

297
52
6y 5m
n/a

Lua code analysis, with plugins for HTML and SciTE

152
14
4y 7m
n/a

Lua source code minifier.

193
34
1y 9m
MIT

An Optional Type System for Lua

469
54
8m
n/a

A Lua 5.3 parser written with LPegLabel

132
23
1y 39d
MIT

Simple coverage analyzer, used by busted and telescope for checking test coverage.

Experimental, etc

An attempt to replicate the LÖVE API in the browser using moonshine.

78
11
4y 10m
MIT

Lua + libUV + jIT = pure awesomesauce

3.26K
340
5d
Apache-2.0

GraphQL implementation in Lua

152
20
3y 7m
MIT

Scriptable by Lua

Simple devilspie-like program for window manipulation, with Lua.

65
10
1y 5m
GPL-2.0

An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices

7.24K
807
3d
AGPL-3.0

Fast, small, webkit based browser framework extensible by Lua.

A powerful, extensible OS X automation tool. A community-maintained fork of Mjolnir.

A console-based mail client, with extensive scripting capabilities.

Highly configurable window manager for X. Fast and extensible.

Extremely lightweight, customizable, cross-platform editor, written (mostly) in (and scripted by) Lua.

Miscellaneous

Moonscript is a dynamic scripting language that compiles to Lua. It reduces verbosity and provides a rich set of features like comprehensions and classes. Its author calls it 'CoffeeScript for Lua'.

A static site generator which uses MoonScript and supports HTML and Markdown, page grouping, and plugins.

Community

The official Lua mailing list, and one of the focal points of the Lua community.

The Lua community blog.

A site for and by users of Lua, featuring an IRC channel, a web archive of lua-l, and a large wiki.

Annual 2-day meeting of the Lua community, in rotating locations.

Annual 1-day Lua conference in Brazil.

Annual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom".

References

The official definition of the Lua language.

A large community-maintained collection of Lua information and resources, supplementing the official website.

Answers all sorts of Lua-related questions, including many of the form 'How to ___?'.

Glossaries

A glossary of some essential Lua terms.

Style Guides

Olivine Labs Lua Style Guide

361
57
4y 10m
n/a

A general, high-level style guide; unopinionated, easily agreed on.

Tutorials

Lua Koans, minus the Zen stuff

270
67
3y 10m
n/a

Short crash course readover, or reference for when you forget the basics.

A well-commented example file which covers the basics.

An overview of the similarities and differences between Lua and JS; a great start for JavaScript folks looking to pick up Lua.

In-depth collection of tutorials aimed at newcomers.

Walks through setting up and using OpenResty to build a simple image processing server; a great starting point for playing with OpenResty.

Articles

An introductory walkthrough of embedding Lua in a C program. A bit dated, but still a great walkthrough.

A thorough summary of the good, different, bad, and ugly aspects of Lua, including many subtle quirks, by the author of ZeroBraneStudio.

Diagrams and explains some more advanced concepts of the Lua VM, particularly when interfacing with C.

Talks & Slides

History of talks given by Lua's chief architect, with slides for each.

High-quality talks are given at each ~annual Lua Workshop, and a history of them is online, slides included.

Books

The authoritative intro to all aspects of Lua programming, written by Lua's chief architect. Three editions released; first edition available online.

A quick reference on how to program in and embed Lua 5.1 through 5.3, by the creator of Textadept.

A collection of articles covering existing wisdom and practices on programming well in Lua, in a broad variety of use cases.

A shorter overview of the language, up to date for Lua 5.2, and available online.

Other Lists

A List of Quality OpenResty Libraries, and Resources.

1.89K
211
70d
n/a

A curated list of amazingly awesome LÖVE libraries, resources and shiny things.

1.89K
135
57d
CC0-1.0

A comprehensive list of stand-alone programs written in or extensible using Lua.