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.
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
Automatically exported from code.google.com/p/llvm-lua
The project is superceded by Fengari. See https://fengari.io/
A lightweight Lua VM for the browser
An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.
A pure c# implementation of Lua 5.2 focus on compatibility with Unity
Lua in Python
Go bindings for Lua C API - in progress
GopherLua: VM and compiler for Lua in Go
A lightweight, dependency-free library for binding Lua to C++
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
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
Build a standalone executable from a Lua program.
Batteries included Lua
Debugging and Profiling
A tool for tracing Lua script execution and analysing time profiles and coverage
StackTracePlus provides enhanced stack traces for Lua.
Remote debugger for Lua.
A browser-based debug console for LÖVE
Simple profiler that works with LuaJIT and produces a report file.
IDEs and Plugins
Emacs major mode for editing Lua
Intellisense and Linting for Lua in VSCode
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.
Utility library for functional programming in Lua
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.
General Lua libraries
A little library of useful Lua functions, intended as the 'light' version of Penlight
Reactive Extensions for Lua
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.
Game Development
A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
Auto-swaps changed Lua files in a running LÖVE project
Fast, lightweight and easy-to-use pathfinding library for grid-based games
Lua functions geared towards gamedev
🌐🔥 Network multiplayer and messaging for CoronaSDK, Moai, Gideros, LÖVE & Defold
A collision detection library for Lua
A fast, lightweight tweening library for Lua
Tweening/Easing/Interpolating functions for lua. Inspired on jQuery's animate method.
A text-based game inspired by tetris.
A lua-based Pac-Man clone.
Mario + Portal platformer
Digital Estate Planning: The Game
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
LuaLogging provides a simple API to use logging features in Lua. Its design was based on log4j.
Web/Networking Platforms
Pegasus.lua is an http server to work with web applications written in Lua language.
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.
Lua HTTP client cosocket driver for OpenResty / ngx_lua.
An RFC compliant and ESI capable HTTP cache for Nginx / OpenResty, backed by Redis
A Lua MVC Web Framework.
🦍 The Cloud-Native API Gateway
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.
A command-line argument parsing module for Lua.
Terminal operations for Lua
Feature-rich command line parser for Lua
Concurrency and Multithreading
Lua Multitasking Environment.
Concurrency oriented programming in Lua
Low-Level threads(pthreads or WIN32 threads) for Lua.
llthreads
library rewritten without LuaNativeObjects
code generator
Lanes is a lightweight, native, lazy evaluating multithreading library for Lua 5.1 to 5.4.
luaproc is a concurrent programming library for Lua
Library for managing sockets, signals, and threads based on an event loop with coroutines.
Templating
Embedded Lua templates
Templating Engine (HTML) for Lua and OpenResty.
Documentation
Lua comments go in, documentation comes out.
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
Object-orientation for Lua
File system and OS
Lua bindings for POSIX APIs
File system path manipulation library
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
Time-related functions for Lua, inspired in javascript's setTimeout and setInterval
Time, Date and Timezone library for lua
Image Manipulation
Lua bindings to ImageMagick for LuaJIT using FFI
Digital Signal Processing
Lua package that includes functions for Fast Fourier Transformations.
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
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.
A lightweight JSON library for Lua
SAX-like streaming XML parser for Lua
A self contained Lua MessagePack C implementation.
A collection of LPEG patterns
A port of LPeg 100% written in Lua.
LPeg version 1.0 Parser in pure LuaJIT
An extension of LPeg that supports labeled failures
LibYAML binding for Lua.
Lua library for conversion between markup formats
Lexing & Syntax Highlighting in Lua (using LPeg)
Lua Protocol Buffers
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
Human-readable representation of Lua tables
Lua serializer and pretty printer.
A fast, robust, richly-featured table serialisation library for Lua
Lua string hashing library, useful for internationalization
Compression
Simple streaming interface to zlib for Lua.
Lua binding to libzip.
Cryptography
Fork of LuaCrypto, which enables encryption and decryption through OpenSSL
A collection of cryptographic primitives written in pure Lua
Lua wrapper arount the Tweet NaCl cryptographic library
Most comprehensive OpenSSL module in the Lua universe.
Network
Network support for the Lua language
Websockets for Lua.
Lua binding to libcurl
HTTP Library for Lua. Supports HTTP(S) 1.0, 1.1 and 2.0; client and server.
Data Stores
A pure Lua Postgres driver for use in OpenResty & more
Nonblocking Lua MySQL driver library for ngx_lua or OpenResty
Pure Lua Cassandra client using CQL binary protocol
A Lua client library for the redis key value storage system.
Lua redis client driver for the ngx_lua based on the cosocket API
A redis client for lua
Simple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL.
Message Brokers
Lua zeromq2 binding
Lua binding to ZeroMQ
Lua kafka client driver for the Openresty based on the cosocket API
Opinionated Lua RabbitMQ client library for the ngx_lua apps based on the cosocket API
Testing
A highly customizable test library for Lua that allows declarative tests with nested contexts.
Assertion library for Lua
Lightweight Lua test framework
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.
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
LuaCov reporter for coveralls.io service
A tool for linting and static analysis of Lua code.
The metalua programming language
Lua code analysis, with plugins for HTML and SciTE
Lua source code minifier.
An Optional Type System for Lua
A Lua 5.3 parser written with LPegLabel
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.
Lua + libUV + jIT = pure awesomesauce
GraphQL implementation in Lua
Scriptable by Lua
Simple devilspie-like program for window manipulation, with Lua.
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
Fast, small, webkit based browser framework extensible by Lua.
A powerful, extensible OS X automation tool. A community-maintained fork of Mjolnir.
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.
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 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom".
References
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
A general, high-level style guide; unopinionated, easily agreed on.
Tutorials
Lua Koans, minus the Zen stuff
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.
A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
A comprehensive list of stand-alone programs written in or extensible using Lua.