HomeLanguages › Awesome Lua

Awesome Lua

by LewisJEllis · LewisJEllis/awesome-lua

A curated list of quality Lua packages and resources.

★ 3k stars205 projects ⑂ 0 forks0 open issues
205 projects
lua-parsergithub.com

A Lua 5.3 parser written using LPegLabel, with improved error messages.

luacheckgithub.com

Simple static analyzer which detects accidental globals and undefined or shadowed locals.

luacovkeplerproject.github.io

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

LuaCov reporter for coveralls.io.

luadec51github.com

Lua Decompiler for Lua version 5.1.

LuaInspectgithub.com

Lua's most powerful code analysis and linting tool, built on Metalua. Used by ZeroBraneStudio, among others.

LuaMinifygithub.com

Minifier which also brings its own static analysis tools, lexer, and parser.

Metaluagithub.com

Pure Lua parser and compiler, used for generating ASTs. A number of other tools make use of the Metalua parser in this way.

Typed Luagithub.com

A typed superset of Lua that compiles to plain Lua.

Embedding Lua in Cdebian-administration.org

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.

Lua: Good, bad, and ugly partsnotebook.kulchenko.com

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

Lua Programmingen.wikibooks.org

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.

Lakegithub.com

A build engine written in Lua, similar to Ruby's rake.

Luabuildgithub.com

Highly customizable Lua 5.2 build system.

luastaticgithub.com

Simple tool for turning Lua programs into standalone executables.

omniagithub.com

A batteries-included creator of standalone executables, built on top of luastatic.

ansicolorsgithub.com

Simple function for printing to the console in color.

argparsegithub.com

A feature-rich command line parser inspired by argparse for Python.

cliargsgithub.com

A simple command-line argument parsing module.

lua-termgithub.com

Terminal operations and manipulations.

FOSDEMfosdem.org

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

Lua Confluaconf.com

Annual 1-day Lua conference in Brazil.

An association of individuals with the mission of supporting and promoting Lua and its community and ecosystems.

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

lua-llua.org

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

lua-users.orglua-users.org

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

Lua.Spacelua.space

The Lua community blog.

lua-zipgithub.com

Lua binding to libzip. Reads and writes zip files.

lua-zlibgithub.com

Simple streaming interface to zlib for gzip/gunzip.

ConcurrentLuagithub.com

Implements an Erlang-style message-passing concurrency model.

cqueues25thandclement.com

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

lanesgithub.com

Library implementing a message passing model with one OS thread per Lua thread.

llthreadsgithub.com

A simple wrapper for low-level pthreads & WIN32 threads.

llthreads2github.com

Newer rewrite of llthreads.

luaprocgithub.com

Message-passing model which allows multiple threads per OS thread and easily generalizes across a network. See also the paper where it originated.

Lumengithub.com

Simple concurrent task scheduling.

lua-lockboxgithub.com

A collection of cryptographic primitives written in pure Lua.

LuaCryptogithub.com

Lua bindings to OpenSSL.

luaosslgithub.com

"Most comprehensive OpenSSL module in the Lua universe" - used by lapis, kong, and lua-http.

luatweetnaclgithub.com

Bindings to tweetnacl, modern high-security cryptographic library.

lredisgithub.com

Asynchronous Redis client with pipelining and Pub/Sub support; based on cqueues.

Lua Cassandra client driver for OpenResty and others.

lua-resty-mysqlgithub.com

Lua MySQL driver for OpenResty.

lua-resty-redisgithub.com

Lua Redis client driver for OpenResty.

LuaSQLkeplerproject.github.io

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

pgmoongithub.com

Lua PostgreSQL driver for OpenResty, LuaSocket, and cqueues.

redis-luagithub.com

Pure Lua client library for Redis.

lovebirdgithub.com

Browser-based debug console. Originally made for LÖVE, but works in any project with LuaSocket support.

luatracegithub.com

Toolset for tracing/analyzing/profiling script execution and generating detailed reports.

MobDebuggithub.com

Powerful remote debugger with breakpoints and stack inspection. Used by ZeroBraneStudio.

ProFigist.github.com

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

StackTracePlusgithub.com

Drop-in upgrade to Lua's stack traces which adds local context and improves readability.

LuaFFTgithub.com

An easy to use Fast Fourier Transformation package in pure Lua.

Worpworp.zevv.nl

Sound/music/DSP engine written for LuaJIT.

docrocgithub.com

Parse comments into a Lua table to generate documentation.

LDocstevedonovan.github.io

Documentation generator which modernizes and extends LuaDoc.

Loccorgieseke.github.io

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

graphql-luagithub.com

Lua implementation of GraphQL.

luvitgithub.com

Node.js's underlying architecture (libUV) with Lua on top instead of JavaScript.

punchdrunk.jsgithub.com

Moonshine + LÖVE API reimplementation = run LÖVE games in the browser.

lua-pathgithub.com

File system path manipulation library.

LuaFileSystemkeplerproject.github.io

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

luaposixgithub.com

Bindings for POSIX APIs, including curses.

lunix25thandclement.com

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

luaffigithub.com

Standalone FFI library, compatible with the LuaJIT FFI interface.

LuaJIT FFIluajit.org

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

awesome-love2dgithub.com

A list like this one, but focused on game dev and the LÖVE platform.

bump.luagithub.com

Minimal rectangle-based collision detection which handles tunnelling and basic collision resolution.

Coroniumdevelephant.github.io

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

fluxgithub.com

A fast, lightweight tweening library for Lua with easing functions and the ability to group tweens together.

HardonCollidervrld.github.io

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

HUMPvrld.github.io

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

2D platformer based on Community's Digital Estate Planning episode, made with LÖVE.

Jumpergithub.com

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

lumegithub.com

Utility belt library geared toward game development.

lurkergithub.com

Shortens the iteration cycle by auto-swapping changed Lua files in a running LÖVE project.

Mari0github.com

Fusion of Mario and Portal, made with LÖVE. See also its wikipedia entry.

moaifiddlemoaifiddle.com

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

NoobHubgithub.com

Network multiplayer for Corona, LÖVE, and more, following a simple pub-sub model.

PacPacgithub.com

A Pac-man clone, made with LÖVE.

termtrisgithub.com

A tetris clone, written in literate style with "an emphasis on learn-from-ability".

tween.luagithub.com

Small library for tweening, with several easing functions.

Amuletamulet.xyz

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

Corona SDKcoronalabs.com

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

Drystaldrystal.github.io

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

LÖVE 2Dlove2d.org

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

LÖVRlovr.org

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

MOAIgetmoai.com

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

A glossary of some essential Lua terms.

eLuaeluaproject.net

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

i18n.luagithub.com

Internationalization library with locales, formatting, and pluralization.

inspect.luagithub.com

Human-readable representation of Lua tables.

saygithub.com

Simple string key-value store for i18n.

Sergithub.com

Dead simple serializer with good performance.

serpentgithub.com

Serializer and pretty printer.

BabeLuaarchive.codeplex.com

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.

Lua for IDEAbitbucket.org

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

lua-modegithub.com

Emacs major mode for editing Lua.

vscode-luagithub.com

VSCode intellisense and linting.

ZeroBraneStudiostudio.zerobrane.com

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

magickgithub.com

Lua bindings to ImageMagick for LuaJIT using FFI.

Fengarifengari.io

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

goluagithub.com

Golang bindings to the Lua C API.

GopherLuagithub.com

Lua 5.1 VM and compiler implemented in Go with Go APIs.

LLVM-Luagithub.com

Compiles Lua to LLVM.

Lualua.org

Lua's original ANSI C interpreter.

Lua Repogithub.com

The official Lua repo, as seen by the Lua team, mirrored to GitHub.

lua.vm.jsgithub.com

Lua VM on the web; a direct port of the C interpreter via LLVM, emscripten, and asm.js.

LuaBridgegithub.com

A lightweight library for mapping data, functions, and classes back and forth between C++ and Lua.

LuaJITluajit.org

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

lupagithub.com

Python bindings to LuaJIT2.

MoonSharpgithub.com

A Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms.

Moonshinegithub.com

A Lua VM implemented in JavaScript. Slower than lua.vm.js, but with better docs, examples, and JS interfacing.

UniLuagithub.com

A pure C# implementation of Lua 5.2, focused on compatibility with the Unity game engine.

lua-loggithub.com

Asynchronous logging library with pluggable writers for file system, network, ZeroMQ, and more.

LuaLogginggithub.com

Log4j-inspired logging library supporting various appenders.

luasyslogluarocks.org

Log to syslog, based on LuaLogging.

lhf's Lua Toolswebserver2.tecgraf.puc-rio.br

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

SciLuascilua.org

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

Torch7torch.ch

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

lua-resty-kafkagithub.com

Kafka client driver based on OpenResty cosockets.

RabbitMQ client library based on OpenResty cosockets.

lua-zmqgithub.com

Lua bindings to ZeroMQ.

lzmqgithub.com

A newer Lua binding to ZeroMQ.

MoonScriptmoonscript.org

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'.

sitegenleafo.net

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

lua-cURLv3github.com

Lua binding to libcurl.

lua-httpgithub.com

Asynchronous HTTP and WebSocket library with client and server APIs, TLS, and HTTP/2; based on cqueues.

lua-websocketsgithub.com

WebSocket client and server modules. Webserver-agnostic, implemented in Lua on top of LuaSocket.

LuaSocketgithub.com

Networking extension which provides a socket API for TCP and UDP, and implements HTTP, FTP, and SMTP.

30loggithub.com

Minimalist OOP library with basic classes, inheritance, and mixins in 30 lines.

middleclassgithub.com

Simple but robust OOP library with inheritance, methods, metamethods, class variables and mixins.

awesome-restygithub.com

A list like this one, but focused on OpenResty.

Konggithub.com

Microservice & API Management Layer.

Lapisleafo.net

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

ledgegithub.com

Lua module providing scriptable, RFC-compliant HTTP cache functionality.

lua-resty-httpgithub.com

Lua HTTP client driver, built on the cosocket API.

ngxluanginx.com

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).

Home of the repositories for ngxlua, ngxopenresty, and many related modules.

Sailorgithub.com

An MVC web framework compatible with OpenResty, Apache and other webservers.

Where Lua is Usedsites.google.com

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

LuaRocksluarocks.org

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

dkjsondkolf.de

JSON encoder/decoder implemented in pure Lua.

json.luagithub.com

A fast and tiny JSON library in pure Lua.

LPeginf.puc-rio.br

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

LPegLabelgithub.com

An extension of LPeg adding support for labeled failures.

LPegLJgithub.com

A pure LuaJIT implementation of LPeg v1.0.

lpegpatternsgithub.com

A collection of LPeg patterns.

lua-cjsongithub.com

Blazing fast JSON encoding/decoding implemented in C and exposed to Lua.

lua-cmsgpackgithub.com

A MessagePack C implementation with Lua bindings, as used by Redis.=

lua-MessagePackgithub.com

Pure Lua implementation of MessagePack.

lua-pbgithub.com

Protocol Buffers implementation.

LuaExpatmatthewwild.co.uk

SAX XML parser via binding to the Expat library.

luajsongithub.com

JSON encoder/decoder implemented in Lua on top of LPeg.

LuLPeggithub.com

A pure Lua implementation of LPeg v0.12.

lunamarkgithub.com

Converts Markdown to other textual formats including HTML and LaTeX. Uses LPeg for fast parsing.

LXSHgithub.com

A collection of lexers and syntax highlighters written with LPeg.

lyamlgithub.com

YAML encoding/decoding via binding to LibYAML.

SLAXMLgithub.com

Pure Lua SAX-like streaming XML parser.

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

lua-users wikilua-users.org

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

The official definition of the Lua language.

AwesomeWMawesomewm.org

A highly configurable and extensible window manager for X, scripted and configured by Lua.

Hammerspoonhammerspoon.org

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

KoReadergithub.com

An ebook reader application supports PDF, DJVU, EPUB, FB2 and much more, running on Kindle, Kobo, PocketBook and Android devices.

kpiegithub.com

A scripting utility to juggle windows.

luakitluakit.github.io

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

lumaillumail.org

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

Textadeptfoicica.com

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

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

A 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.

Roberto's Talksinf.puc-rio.br

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

etluagithub.com

Embedded Lua templates, ERB-style.

Lua-oriented template engine for OpenResty, somewhat Jinja-like.

lustacheolivinelabs.com

Mustache template implementation.

bustedolivinelabs.com

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

luassertgithub.com

Assertion library extending Lua's built-in assertions.

lustgithub.com

Minimal test framework.

telescopegithub.com

Flexible and highly customizable testing library.

cron.luagithub.com

Time-related functions for Lua, inspired by JavaScript's setTimeout and setInterval.

LuaDategithub.com

Date and time module with parsing, formatting, addition/subtraction, localization, and ISO 8601 support.

luatxgithub.com

Time, date, and timezone library.

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

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.

Lua Crash Coursecoppeliarobotics.com

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

Lua Missionsgithub.com

A series of 'Missions' to work through which are designed to teach aspects of Lua along the way.

lua-users tutoriallua-users.org

In-depth collection of tutorials aimed at newcomers.

compat53luarocks.org

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

Lua Fungithub.com

High-performance functional programming library designed for LuaJIT.

lua-stdlibgithub.com

Middle-weight standard library extension; adds some useful data structures, utility functions, and basic functional stuff.

Microlightgithub.com

A little library of useful Lua functions; the 'extra light' version of Penlight.

Mosesgithub.com

Functional programming utility belt, inspired by Underscore.js.

Penlightgithub.com

Broad, heavyweight utility library, inspired by Python's standard libs. Provides the batteries that Lua doesn't.

RxLuagithub.com

Reactive Extensions, Observables, etc.

Kepler Projectgithub.com

A collection of web-oriented projects using a common set of standards and components.

OpenRestyopenresty.org

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.

Pegasus.luagithub.com

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

turboturbo.readthedocs.io

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

↵ to searchesc to close
awesomelist.dev