Awesome Lua
by LewisJEllis · LewisJEllis/awesome-lua
A curated list of quality Lua packages and resources.
LSimple static analyzer which detects accidental globals and undefined or shadowed locals.
Simple coverage analyzer, used by busted and telescope for checking test coverage.
LLua's most powerful code analysis and linting tool, built on Metalua. Used by ZeroBraneStudio, among others.
MPure Lua parser and compiler, used for generating ASTs. A number of other tools make use of the Metalua parser in this way.
An introductory walkthrough of embedding Lua in a C program. A bit dated, but still a great walkthrough.
Diagrams and explains some more advanced concepts of the Lua VM, particularly when interfacing with C.
A thorough summary of the good, different, bad, and ugly aspects of Lua, including many subtle quirks, by the author of ZeroBraneStudio.
A shorter overview of the language, up to date for Lua 5.2, and 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.
The authoritative intro to all aspects of Lua programming, written by Lua's chief architect. Three editions released; first edition available online.
OA batteries-included creator of standalone executables, built on top of luastatic.
Annual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom".
LAn association of individuals with the mission of supporting and promoting Lua and its community and ecosystems.
A site for and by users of Lua, featuring an IRC channel, a web archive of lua-l, and a large wiki.
Library for managing sockets, signals, and threads based on an event loop with coroutines.
LMessage-passing model which allows multiple threads per OS thread and easily generalizes across a network. See also the paper where it originated.
L"Most comprehensive OpenSSL module in the Lua universe" - used by lapis, kong, and lua-http.
LAsynchronous Redis client with pipelining and Pub/Sub support; based on cqueues.
Simple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL.
LBrowser-based debug console. Originally made for LÖVE, but works in any project with LuaSocket support.
LToolset for tracing/analyzing/profiling script execution and generating detailed reports.
MPowerful remote debugger with breakpoints and stack inspection. Used by ZeroBraneStudio.
SDrop-in upgrade to Lua's stack traces which adds local context and improves readability.
Lua port of Docco, the "quick-and-dirty, hundred-line-long, literate-programming-style documentation generator".
Extends and complements Lua's built-in set of file system functions.
LuaJIT's mechanism for calling external C functions and using C data structures from pure Lua code.
BMinimal rectangle-based collision detection which handles tunnelling and basic collision resolution.
Simple cloud platform supporting analytics, data objects, user management, and more.
FA fast, lightweight tweening library for Lua with easing functions and the ability to group tweens together.
Detect collisions between arbitrarily positioned and rotated shapes of any type.
J2D platformer based on Community's Digital Estate Planning episode, made with LÖVE.
LShortens the iteration cycle by auto-swapping changed Lua files in a running LÖVE project.
Edit and share short scripts for the MOAI game engine and run them in the browser using WebGL.
NNetwork multiplayer for Corona, LÖVE, and more, following a simple pub-sub model.
TA tetris clone, written in literate style with "an emphasis on learn-from-ability".
Open source, audio/visual toolkit suitable for small games and experimentation. It runs on Windows, Mac, Linux, HTML5 and iOS.
Development platform for iOS and Android. Proprietary, but used by numerous top games and apps, totaling over 150 million downloads.
Open source, games can run on Linux or on any platform with a recent web browser.
Desktop game development platform. Cross-platform, feature-complete, well-adopted.
Open source, cross-platform, mobile game development framework. Minimalist C++ engine powered by Lua scripting.
Lua, extended with optimizations and specific features for efficient and portable embedded software development.
Lua editor/debugger extension for VS2012-13 with highlighting, auto-completion, linting, and formatting capabilities.
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.
LLua VM on the web; a direct port of the C interpreter via LLVM, emscripten, and asm.js.
LA lightweight library for mapping data, functions, and classes back and forth between C++ and Lua.
MA Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms.
MA Lua VM implemented in JavaScript. Slower than lua.vm.js, but with better docs, examples, and JS interfacing.
UA pure C# implementation of Lua 5.2, focused on compatibility with the Unity game engine.
LAsynchronous logging library with pluggable writers for file system, network, ZeroMQ, and more.
Assorted libraries and tools, many math- or data-related.
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.
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.
LAsynchronous HTTP and WebSocket library with client and server APIs, TLS, and HTTP/2; based on cqueues.
LWebSocket client and server modules. Webserver-agnostic, implemented in Lua on top of LuaSocket.
LNetworking extension which provides a socket API for TCP and UDP, and implements HTTP, FTP, and SMTP.
MSimple but robust OOP library with inheritance, methods, metamethods, class variables and mixins.
Full-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript.
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).
OHome of the repositories for ngxlua, ngxopenresty, and many related modules.
A comprehensive list of stand-alone programs written in or extensible using Lua.
De-facto tool for installing Lua modules as packages called "rocks", plus public rock repository and website. Much like npm or pip.
LConverts Markdown to other textual formats including HTML and LaTeX. Uses LPeg for fast parsing.
Answers all sorts of Lua-related questions, including many of the form 'How to ?'.
A large community-maintained collection of Lua information and resources, supplementing the official website.
A highly configurable and extensible window manager for X, scripted and configured by Lua.
A powerful, extensible OS X automation tool. A community-maintained fork of Mjolnir.
KAn ebook reader application supports PDF, DJVU, EPUB, FB2 and much more, running on Kindle, Kobo, PocketBook and Android devices.
Extremely lightweight, customizable, cross-platform editor, written (mostly) in (and scripted by) Lua.
A general, high-level style guide; unopinionated, easily agreed on.
OA more opinionated and specific, and therefore more rigorous, guide.
High-quality talks are given at each ~annual Lua Workshop, and a history of them is online, slides included.
History of talks given by Lua's chief architect, with slides for each.
CTime-related functions for Lua, inspired by JavaScript's setTimeout and setInterval.
LDate and time module with parsing, formatting, addition/subtraction, localization, and ISO 8601 support.
Walks through setting up and using OpenResty to build a simple image processing server; a great starting point for playing with OpenResty.
An overview of the similarities and differences between Lua and JS; a great start for JavaScript folks looking to pick up Lua.
Short crash course readover, or reference for when you forget the basics.
LA series of 'Missions' to work through which are designed to teach aspects of Lua along the way.
LMiddle-weight standard library extension; adds some useful data structures, utility functions, and basic functional stuff.
MA little library of useful Lua functions; the 'extra light' version of Penlight.
PBroad, heavyweight utility library, inspired by Python's standard libs. Provides the batteries that Lua doesn't.
KA collection of web-oriented projects using a common set of standards and components.
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.
PPegasus.lua is a http server to work with web applications written in Lua language.
L
L
L
L
C
L
L
C
L
L
L
L
L
L
L
P
R
L
D
L
P
L
L
A
J
M
S
L
V
G
G
L
L
L
L
L
L
L
A
K
L
S
L
L
L
L
L
L
L
L
L
S
K
T
L