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: Feb. 27, 2021, 6:03 p.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

4.09K
977
13d
n/a

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

96
17
8y 8m
n/a

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

811
95
4y 6m
MIT

A lightweight Lua VM for the browser

465
36
4y 12m
MIT

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

914
162
1y 45d
n/a

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

1.03K
308
4y 5m
MIT

Lua in Python

634
97
6m
n/a

Go bindings for Lua C API - in progress

516
148
63d
MIT

GopherLua: VM and compiler for Lua in Go

3.95K
444
6m
MIT

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

1.1K
278
67d
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
7y 31d
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

74
17
5y 9m
MIT

Build a standalone executable from a Lua program.

506
22
30d
CC0-1.0

Batteries included Lua

41
1
115d
n/a

Debugging and Profiling

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

143
20
5y 92d
MIT

StackTracePlus provides enhanced stack traces for Lua.

171
21
5y 20d
n/a

Remote debugger for Lua.

654
147
7m
n/a

A browser-based debug console for LÖVE

225
18
3y 9m
MIT

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

IDEs and Plugins

Emacs major mode for editing Lua

258
65
38d
GPL-2.0

Intellisense and Linting for Lua in VSCode

97
20
2y 68d
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.54K
92
3y 9m
n/a

Utility library for functional programming in Lua

537
98
1y 111d
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.25K
200
28d
MIT

General Lua libraries

225
25
3y 58d
MIT

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

139
17
5y 10m
n/a

Reactive Extensions for Lua

392
65
1y 45d
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.95K
140
26d
CC0-1.0

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

206
25
8m
MIT

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

530
105
1y 4m
MIT

Lua functions geared towards gamedev

548
53
1y 17d
MIT

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

257
45
8m
n/a

A collision detection library for Lua

649
70
3y 7d
MIT

A fast, lightweight tweening library for Lua

229
34
4y 7m
MIT

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

410
66
4y 11m
n/a

A text-based game inspired by tetris.

423
42
1y 8m
Unlicense

A lua-based Pac-Man clone.

326
39
5y 8m
n/a

Mario + Portal platformer

366
57
2y 84d
n/a

Digital Estate Planning: The Game

950
411
4m
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 5m
MIT

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

140
63
6y 6m
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.

271
29
5m
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.94K
221
13d
n/a

Lua HTTP client cosocket driver for OpenResty / ngx_lua.

1.49K
503
79d
BSD-2-Clause

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

412
56
13d
n/a

A Lua MVC Web Framework.

868
124
1y 7m
MIT

🦍 The Cloud-Native API Gateway

28.2K
3.71K
5d
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.

82
26
7y 4m
MIT

A command-line argument parsing module for Lua.

84
17
2y 11m
MIT

Terminal operations for Lua

97
16
2y 23d
MIT

Feature-rich command line parser for Lua

178
25
2y 10m
MIT

Concurrency and Multithreading

Lua Multitasking Environment.

126
16
4m
n/a

Concurrency oriented programming in Lua

155
13
8y 11m
MIT

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

136
34
5y 39d
MIT

llthreads library rewritten without LuaNativeObjects code generator

65
18
50d
MIT

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

329
74
10m
n/a

luaproc is a concurrent programming library for Lua

99
26
5y 4m
n/a

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

Templating

Embedded Lua templates

163
13
1y 7m
n/a

Templating Engine (HTML) for Lua and OpenResty.

778
178
4m
BSD-3-Clause

Mustache template implementation.

Documentation

Lua comments go in, documentation comes out.

9
1
5y 67d
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

310
43
3y 9m
n/a

Object-orientation for Lua

1.31K
157
2y 11m
MIT

File system and OS

Lua bindings for POSIX APIs

389
103
35d
MIT

File system path manipulation library

41
15
52d
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

186
40
99d
MIT

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

127
24
7y 4m
MIT

Time, Date and Timezone library for lua

92
11
3y 82d
MIT

Image Manipulation

Lua bindings to ImageMagick for LuaJIT using FFI

333
76
26d
n/a

Digital Signal Processing

Lua package that includes functions for Fast Fourier Transformations.

29
1
3y 113d
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
11m
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.

233
43
4y 28d
n/a

A lightweight JSON library for Lua

946
233
8m
MIT

SAX-like streaming XML parser for Lua

132
46
1y 66d
MIT

A self contained Lua MessagePack C implementation.

306
107
2y 8m
n/a

A collection of LPEG patterns

98
7
2y 5m
MIT

A port of LPeg 100% written in Lua.

197
27
2y 98d
n/a

LPeg version 1.0 Parser in pure LuaJIT

101
9
5y 5m
n/a

An extension of LPeg that supports labeled failures

92
11
6m
MIT

LibYAML binding for Lua.

121
26
93d
n/a

Lua library for conversion between markup formats

146
43
1y 9m
MIT

Lexing & Syntax Highlighting in Lua (using LPeg)

61
6
9y 90d
n/a

Lua Protocol Buffers

270
91
3y 4m
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

176
25
2y 11m
MIT

Human-readable representation of Lua tables

861
161
2y 10m
MIT

Lua serializer and pretty printer.

383
62
2y 8d
n/a

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

65
12
4y 9m
MIT

Lua string hashing library, useful for internationalization

24
16
26d
MIT

Compression

Simple streaming interface to zlib for Lua.

198
89
7m
n/a

Lua binding to libzip.

62
24
6d
n/a

Cryptography

Fork of LuaCrypto, which enables encryption and decryption through OpenSSL

81
60
7y 5m
MIT

A collection of cryptographic primitives written in pure Lua

290
56
46d
MIT

Lua wrapper arount the Tweet NaCl cryptographic library

11
1
2y 4m
MIT

Most comprehensive OpenSSL module in the Lua universe.

100
34
7m
n/a

Network

Network support for the Lua language

1.26K
485
11m
n/a

Websockets for Lua.

336
89
2y 4m
MIT

Lua binding to libcurl

196
65
26d
MIT

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

531
66
23d
MIT

Data Stores

A pure Lua Postgres driver for use in OpenResty & more

275
63
53d
MIT

Nonblocking Lua MySQL driver library for ngx_lua or OpenResty

599
217
4d
n/a

Pure Lua Cassandra client using CQL binary protocol

67
17
3y 8m
MIT

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

639
223
6y 105d
MIT

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

1.54K
407
65d
n/a

A redis client for lua

37
7
5y 43d
MIT

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

Message Brokers

Lua zeromq2 binding

149
37
5y 39d
MIT

Lua binding to ZeroMQ

111
39
7m
MIT

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

668
233
9m
BSD-3-Clause

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

175
52
10m
n/a

Testing

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

141
36
7y 4m
n/a

Assertion library for Lua

100
60
5m
MIT

Lightweight Lua test framework

59
6
1y 45d
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.

391
74
7y 114d
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

257
110
6y 88d
MIT

LuaCov reporter for coveralls.io service

43
11
42d
MIT

A tool for linting and static analysis of Lua code.

1.37K
230
2y 4m
MIT

The metalua programming language

301
51
6y 8m
n/a

Lua code analysis, with plugins for HTML and SciTE

152
14
4y 10m
n/a

Lua source code minifier.

198
34
2y 10d
MIT

An Optional Type System for Lua

477
52
11m
n/a

A Lua 5.3 parser written with LPegLabel

134
25
19d
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
5y 23d
MIT

Lua + libUV + jIT = pure awesomesauce

3.31K
339
92d
Apache-2.0

GraphQL implementation in Lua

154
22
3y 9m
MIT

Scriptable by Lua

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

68
10
69d
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.74K
834
5d
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

372
61
81d
n/a

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

Tutorials

Lua Koans, minus the Zen stuff

277
68
4y 40d
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.94K
221
13d
n/a

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

1.95K
140
26d
CC0-1.0

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