awesome-lua

A curated list of quality Lua packages and resources.

GitHub

4k stars
153 watching
317 forks
last commit: 2 months ago
Linked from 12 awesome lists


Awesome Lua / Resources / Implementations, Interpreters, and Bindings

Lua Lua's original ANSI C interpreter

Awesome Lua / Resources / Implementations, Interpreters, and Bindings / Lua

Lua Repo 8,458 about 1 month ago The official Lua repo, as seen by the Lua team, mirrored to GitHub

Awesome Lua / Resources / Implementations, Interpreters, and Bindings

LuaJIT High-performance Just-In-Time compiler for Lua
LLVM-Lua 152 over 8 years ago Compiles Lua to LLVM
lua.vm.js 835 about 6 years ago Lua VM on the web; a direct port of the C interpreter via LLVM, emscripten, and asm.js
Moonshine 501 over 3 years ago A Lua VM implemented in JavaScript. Slower than lua.vm.js, but with better docs, examples, and JS interfacing
Fengari The Lua VM rewritten in Javascript with seamless JS and DOM interoperability
MoonSharp 1,404 11 months ago A Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms
UniLua 1,104 4 months ago A pure C# implementation of Lua 5.2, focused on compatibility with the Unity game engine
lupa 1,011 3 months ago Python bindings to LuaJIT2
golua 640 16 days ago Golang bindings to the Lua C API
GopherLua 6,225 2 months ago Lua 5.1 VM and compiler implemented in Go with Go APIs
LuaBridge 1,633 about 1 year ago A lightweight library for mapping data, functions, and classes back and forth between C++ and Lua

Awesome Lua / Resources / Package Managers

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

Awesome Lua / Resources / Build Tools and Standalone Makers

Lake 132 about 9 years ago A build engine written in Lua, similar to Ruby's rake
Luabuild 78 almost 9 years ago Highly customizable Lua 5.2 build system
luastatic 776 12 months ago Simple tool for turning Lua programs into standalone executables
omnia 46 almost 4 years ago A batteries-included creator of standalone executables, built on top of luastatic

Awesome Lua / Resources / Debugging and Profiling

ProFi Simple profiler that works with LuaJIT and produces a report file
luatrace 170 almost 9 years ago Toolset for tracing/analyzing/profiling script execution and generating detailed reports
StackTracePlus 194 about 1 year ago Drop-in upgrade to Lua's stack traces which adds local context and improves readability
MobDebug 886 12 months ago Powerful remote debugger with breakpoints and stack inspection. Used by ZeroBraneStudio
lovebird 289 over 3 years ago Browser-based debug console. Originally made for LÖVE, but works in any project with LuaSocket support

Awesome Lua / Resources / IDEs and Plugins

Lua Development Tools Eclipse plugin which provides code completion, debugging, and more. Built on Metalua
Lua for IDEA IntelliJ IDEA plugin which, among other things, provides code completion, smart highlighting, and experimental debugging
ZeroBraneStudio Lightweight, customizable, cross-platform Lua-dedicated IDE with code completion and analysis, written in Lua. Has broad debugging support for numerous Lua engines
BabeLua Lua editor/debugger extension for VS2012-13 with highlighting, auto-completion, linting, and formatting capabilities
lua-mode 316 3 months ago Emacs major mode for editing Lua
vscode-lua 115 7 months ago VSCode intellisense and linting

Awesome Lua / Resources / Utility Belts

Lua Fun 2,095 2 months ago High-performance functional programming library designed for LuaJIT
Moses 627 almost 5 years ago Functional programming utility belt, inspired by Underscore.js
Penlight 1,914 2 months ago Broad, heavyweight utility library, inspired by Python's standard libs. Provides the batteries that Lua doesn't
lua-stdlib 287 almost 2 years ago Middle-weight standard library extension; adds some useful data structures, utility functions, and basic functional stuff
Microlight 166 over 2 years ago A little library of useful Lua functions; the 'extra light' version of Penlight
compat53 Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1
RxLua 520 over 4 years ago Reactive Extensions, Observables, etc

Awesome Lua / Resources / Game Engines

LÖVE 2D Desktop game development platform. Cross-platform, feature-complete, well-adopted
Corona SDK Development platform for iOS and Android. Proprietary, but used by numerous top games and apps, totaling over 150 million downloads
MOAI Open source, cross-platform, mobile game development framework. Minimalist C++ engine powered by Lua scripting
Drystal Open source, games can run on Linux or on any platform with a recent web browser
Amulet Open source, audio/visual toolkit suitable for small games and experimentation. It runs on Windows, Mac, Linux, HTML5 and iOS
LÖVR 3D framework for creating virtual reality experiences, inspired by LÖVE 2D

Awesome Lua / Resources / Game Development / Corona

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

Awesome Lua / Resources / Game Development / LÖVE

awesome-love2d 3,252 3 days ago A list like this one, but focused on game dev and the LÖVE platform
lurker 282 about 1 year ago Shortens the iteration cycle by auto-swapping changed Lua files in a running LÖVE project
HUMP A set of lightweight helpers for LÖVE; a game-oriented utility belt

Awesome Lua / Resources / Game Development / MOAI

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

Awesome Lua / Resources / Game Development

Jumper 612 almost 2 years ago Fast, lightweight, and easy-to-use pathfinding library for grid-based games
lume 999 11 months ago Utility belt library geared toward game development
NoobHub 317 3 months ago Network multiplayer for Corona, LÖVE, and more, following a simple pub-sub model

Awesome Lua / Resources / Game Development / Collision detection

bump.lua 928 about 1 year ago Minimal rectangle-based collision detection which handles tunnelling and basic collision resolution
HardonCollider Detect collisions between arbitrarily positioned and rotated shapes of any type

Awesome Lua / Resources / Game Development / Tweening

flux 383 almost 4 years ago A fast, lightweight tweening library for Lua with easing functions and the ability to group tweens together
tween.lua 578 over 1 year ago Small library for tweening, with several easing functions

Awesome Lua / Resources / Game Development / Examples

termtris 448 almost 5 years ago A tetris clone, written in literate style with "an emphasis on learn-from-ability"
PacPac 342 over 9 years ago A Pac-man clone, made with LÖVE
Mari0 657 about 1 year ago Fusion of Mario and Portal, made with LÖVE. See also its
Journey to the Center of Hawkthorne 1,084 9 months ago 2D platformer based on Community's episode, made with LÖVE

Awesome Lua / Resources / Logging

lua-log 109 about 6 years ago Asynchronous logging library with pluggable writers for file system, network, ZeroMQ, and more
LuaLogging 146 over 3 years ago Log4j-inspired logging library supporting various appenders
luasyslog Log to syslog, based on LuaLogging

Awesome Lua / Resources / Web/Networking Platforms

OpenResty 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
turbo Event-driven, non-blocking, LuaJIT-based networking suite and framework, inspired by Tornado
Kepler Project A collection of web-oriented projects using a common set of standards and components
Pegasus.lua 413 12 days ago Pegasus.lua is a http server to work with web applications written in Lua language

Awesome Lua / Resources / OpenResty

awesome-resty 2,396 9 months ago A list like this one, but focused on OpenResty

Awesome Lua / Resources / OpenResty / Core platform

ngx_lua 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)
OpenResty GitHub Organization Home of the repositories for ngx_lua, ngx_openresty, and many related modules

Awesome Lua / Resources / OpenResty / Third-party modules

lua-resty-http 1,985 4 months ago Lua HTTP client driver, built on the cosocket API

Awesome Lua / Resources / OpenResty / Frameworks & tools

Lapis Full-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript
ledge 454 over 3 years ago Lua module providing scriptable, RFC-compliant HTTP cache functionality
Sailor 922 almost 2 years ago — An MVC web framework compatible with OpenResty, Apache and other webservers
Kong 38,976 10 days ago Microservice & API Management Layer

Awesome Lua / Resources / Command-line Utilities

ansicolors 135 5 months ago Simple function for printing to the console in color
cliargs 120 10 months ago A simple command-line argument parsing module
lua-term 158 about 2 months ago Terminal operations and manipulations
argparse 258 almost 4 years ago A feature-rich command line parser inspired by argparse for Python

Awesome Lua / Resources / Concurrency and Multithreading / Coroutine-based multitasking:

Lumen 153 over 1 year ago Simple concurrent task scheduling
ConcurrentLua 158 almost 10 years ago Implements an Erlang-style message-passing concurrency model
cqueues Library for managing sockets, signals, and threads based on an event loop with coroutines

Awesome Lua / Resources / Concurrency and Multithreading / Multithreading:

llthreads 143 10 days ago A simple wrapper for low-level pthreads & WIN32 threads
llthreads2 75 12 months ago Newer rewrite of llthreads
lanes 457 3 days ago Library implementing a message passing model with one OS thread per Lua thread
luaproc 116 about 7 years ago Message-passing model which allows multiple threads per OS thread and easily generalizes across a network. See also where it originated

Awesome Lua / Resources / Templating

lustache Mustache template implementation
etlua 217 about 1 year ago Embedded Lua templates, ERB-style
lua-resty-template 905 about 1 year ago Lua-oriented template engine for OpenResty, somewhat Jinja-like

Awesome Lua / Resources / Documentation

LDoc Documentation generator which modernizes and extends
Locco Lua port of , the "quick-and-dirty, hundred-line-long, literate-programming-style documentation generator"
docroc 13 almost 9 years ago Parse comments into a Lua table to generate documentation

Awesome Lua / Resources / Object-oriented Programming

30log 450 over 3 years ago Minimalist OOP library with basic classes, inheritance, and mixins in 30 lines
middleclass 1,762 over 1 year ago Simple but robust OOP library with inheritance, methods, metamethods, class variables and mixins

Awesome Lua / Resources / File system and OS

LuaFileSystem Extends and complements Lua's built-in set of file system functions
luaposix 531 about 2 months ago Bindings for POSIX APIs, including curses
lunix Bindings to common Unix system APIs, striving for thread-safety
lua-path 77 almost 4 years ago File system path manipulation library

Awesome Lua / Resources / Time and Date

LuaDate 260 about 1 year ago Date and time module with parsing, formatting, addition/subtraction, localization, and ISO 8601 support
cron.lua 175 about 1 year ago Time-related functions for Lua, inspired by JavaScript's setTimeout and setInterval
luatx 119 8 months ago Time, date, and timezone library

Awesome Lua / Resources / Image Manipulation

magick 404 5 months ago Lua bindings to ImageMagick for LuaJIT using FFI

Awesome Lua / Resources / Digital Signal Processing

LuaFFT 55 5 months ago An easy to use Fast Fourier Transformation package in pure Lua
Worp Sound/music/DSP engine written for LuaJIT

Awesome Lua / Resources / Hardware and Embedded Systems

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

Awesome Lua / Resources / Math and Scientific Computing

SciLua Numerical/scientific computing framework built on LuaJIT, with an interface to R
Torch7 Scientific computing framework with wide support for machine learning algorithms, used by Facebook, Google, and more
lhf's Lua Tools Assorted libraries and tools, many math- or data-related

Awesome Lua / Resources / Parsing and Serialization / JSON

lua-cjson 928 4 months ago Blazing fast JSON encoding/decoding implemented in C and exposed to Lua
luajson 249 about 1 year ago JSON encoder/decoder implemented in Lua on top of LPeg
dkjson JSON encoder/decoder implemented in pure Lua
json.lua 1,846 11 months ago A fast and tiny JSON library in pure Lua

Awesome Lua / Resources / Parsing and Serialization / XML

LuaExpat SAX XML parser via binding to the Expat library
SLAXML 153 3 months ago Pure Lua SAX-like streaming XML parser

Awesome Lua / Resources / Parsing and Serialization / MessagePack

lua-MessagePack Pure Lua implementation of MessagePack
lua-cmsgpack 355 almost 3 years ago A MessagePack C implementation with Lua bindings, as used by Redis.=

Awesome Lua / Resources / Parsing and Serialization / LPeg

LPeg A pattern-matching library for Lua, based on Parsing Expression Grammars
lpeg_patterns 119 over 2 years ago A collection of LPeg patterns
LuLPeg 249 over 2 years ago A pure Lua implementation of LPeg v0.12
LPegLJ 108 over 2 years ago A pure LuaJIT implementation of LPeg v1.0
LPegLabel 137 over 1 year ago An extension of LPeg adding support for labeled failures

Awesome Lua / Resources / Parsing and Serialization

lyaml 208 over 1 year ago YAML encoding/decoding via binding to LibYAML
lunamark 195 2 months ago Converts Markdown to other textual formats including HTML and LaTeX. Uses LPeg for fast parsing
LXSH 71 almost 2 years ago A collection of lexers and syntax highlighters written with LPeg
lua-pb 288 over 6 years ago Protocol Buffers implementation

Awesome Lua / Resources / Humanize

i18n.lua 255 almost 2 years ago Internationalization library with locales, formatting, and pluralization
inspect.lua 1,369 about 1 year ago Human-readable representation of Lua tables
serpent 550 over 2 years ago Serializer and pretty printer
Ser 75 over 8 years ago Dead simple serializer with good performance
say 45 about 1 year ago Simple string key-value store for i18n

Awesome Lua / Resources / Compression

lua-zlib 274 over 1 year ago Simple streaming interface to zlib for gzip/gunzip
lua-zip 81 over 2 years ago Lua binding to libzip. Reads and writes zip files

Awesome Lua / Resources / Cryptography

LuaCrypto 98 over 5 years ago Lua bindings to OpenSSL
lua-lockbox 360 9 months ago A collection of cryptographic primitives written in pure Lua
luatweetnacl 15 almost 3 years ago Bindings to tweetnacl, modern high-security cryptographic library
luaossl 144 3 months ago "Most comprehensive OpenSSL module in the Lua universe" - used by lapis, kong, and lua-http

Awesome Lua / Resources / Network

LuaSocket 1,841 3 months ago Networking extension which provides a socket API for TCP and UDP, and implements HTTP, FTP, and SMTP
lua-websockets 398 almost 2 years ago WebSocket client and server modules. Webserver-agnostic, implemented in Lua on top of LuaSocket
lua-cURLv3 278 over 1 year ago Lua binding to libcurl
lua-http 798 about 1 month ago Asynchronous HTTP and WebSocket library with client and server APIs, TLS, and HTTP/2; based on cqueues

Awesome Lua / Resources / Data Stores

LuaSQL Simple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL
pgmoon 393 about 1 year ago Lua PostgreSQL driver for OpenResty, LuaSocket, and cqueues
lua-resty-mysql 704 about 2 months ago Lua MySQL driver for OpenResty
lua-resty-cassandra 67 over 7 years ago Lua Cassandra client driver for OpenResty and others

Awesome Lua / Resources / Data Stores / Redis

redis-lua 733 11 months ago Pure Lua client library for Redis
lua-resty-redis 1,899 about 2 months ago Lua Redis client driver for OpenResty
lredis 42 over 3 years ago Asynchronous Redis client with pipelining and Pub/Sub support; based on cqueues

Awesome Lua / Resources / Message Brokers

lua-zmq 151 9 days ago Lua bindings to ZeroMQ
lzmq 136 about 4 years ago A newer Lua binding to ZeroMQ
lua-resty-kafka 802 11 months ago Kafka client driver based on OpenResty cosockets
lua-resty-rabbitmqstomp 192 over 4 years ago RabbitMQ client library based on OpenResty cosockets

Awesome Lua / Resources / Testing

busted BDD-style unit testing framework with great docs and Moonscript support
telescope 159 about 7 years ago Flexible and highly customizable testing library
luassert 203 19 days ago Assertion library extending Lua's built-in assertions
lust 111 9 days ago Minimal test framework

Awesome Lua / Resources / Foreign Function Interfaces

LuaJIT FFI LuaJIT's mechanism for calling external C functions and using C data structures from pure Lua code
luaffi 469 almost 4 years ago Standalone FFI library, compatible with the LuaJIT FFI interface

Awesome Lua / Resources / Analysis Tools and ASTs

luadec51 319 over 2 years ago Lua Decompiler for Lua version 5.1
luacov Simple coverage analyzer, used by busted and telescope for checking test coverage

Awesome Lua / Resources / Analysis Tools and ASTs / luacov

luacov-coveralls 49 over 2 years ago LuaCov reporter for coveralls.io

Awesome Lua / Resources / Analysis Tools and ASTs

luacheck 1,914 almost 2 years ago Simple static analyzer which detects accidental globals and undefined or shadowed locals
Metalua 347 9 months ago Pure Lua parser and compiler, used for generating ASTs. A number of other tools make use of the Metalua parser in this way
LuaInspect 171 over 8 years ago Lua's most powerful code analysis and linting tool, built on Metalua. Used by ZeroBraneStudio, among others
LuaMinify 259 almost 2 years ago Minifier which also brings its own static analysis tools, lexer, and parser
Typed Lua 564 over 4 years ago A typed superset of Lua that compiles to plain Lua
lua-parser 186 over 1 year ago A Lua 5.3 parser written using LPegLabel, with improved error messages

Awesome Lua / Resources / Experimental, etc

punchdrunk.js 81 over 8 years ago Moonshine + LÖVE API reimplementation = run LÖVE games in the browser
luvit 3,808 about 2 months ago Node.js's underlying architecture (libUV) with Lua on top instead of JavaScript
graphql-lua 185 over 1 year ago Lua implementation of

Awesome Lua / Resources / Scriptable by Lua

luakit Fast, small, webkit based browser framework extensible by Lua
Hammerspoon A powerful, extensible OS X automation tool. A community-maintained fork of
kpie 79 almost 4 years ago A scripting utility to juggle windows
lumail A console-based mail client, with extensive scripting capabilities
AwesomeWM A highly configurable and extensible window manager for X, scripted and configured by Lua
Textadept Extremely lightweight, customizable, cross-platform editor, written (mostly) in (and scripted by) Lua
KoReader 16,538 1 day ago An ebook reader application supports PDF, DJVU, EPUB, FB2 and much more, running on Kindle, Kobo, PocketBook and Android devices

Awesome Lua / Resources / Miscellaneous

MoonScript 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'
sitegen A static site generator which uses MoonScript and supports HTML and Markdown, page grouping, and plugins

Awesome Lua / Resources / Community

lua-l The official Lua mailing list, and one of the focal points of the Lua community
Lua.Space The Lua community blog
Lua Users Foundation An association of individuals with the mission of supporting and promoting Lua and its community and ecosystems
lua-users.org A site for and by users of Lua, featuring an IRC channel, a web archive of lua-l, and a large wiki

Awesome Lua / Resources / Community / Conferences/Meetups

Lua Workshop Annual 2-day meeting of the Lua community, in rotating locations
Lua Conf Annual 1-day Lua conference in Brazil
FOSDEM Annual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom"

Awesome Lua / Resources / References

Reference Manual The official definition of the Lua language
lua-users wiki A large community-maintained collection of Lua information and resources, supplementing the official website
Lua Unofficial FAQ Answers all sorts of Lua-related questions, including many of the form 'How to ___?'

Awesome Lua / Resources / Glossaries

Lua 5.3 Glossary A glossary of some essential Lua terms

Awesome Lua / Resources / Style Guides

Lua-users style guide A general, high-level style guide; unopinionated, easily agreed on
Olivine style guide 516 about 3 years ago A more opinionated and specific, and therefore more rigorous, guide

Awesome Lua / Resources / Tutorials

Lua Crash Course Short crash course readover, or reference for when you forget the basics
Learn Lua in 15 Minutes A well-commented example file which covers the basics
Learning Lua from JS An overview of the similarities and differences between Lua and JS; a great start for JavaScript folks looking to pick up Lua
lua-users tutorial In-depth collection of tutorials aimed at newcomers
Lua Missions 379 4 months ago A series of 'Missions' to work through which are designed to teach aspects of Lua along the way
Creating an Image Server Walks through setting up and using OpenResty to build a simple image processing server; a great starting point for playing with OpenResty

Awesome Lua / Resources / Articles

Embedding Lua in C An introductory walkthrough of embedding Lua in a C program. A bit dated, but still a great walkthrough
Lua: Good, bad, and ugly parts A thorough summary of the good, different, bad, and ugly aspects of Lua, including many subtle quirks, by the author of ZeroBraneStudio
Lua states, libraries, coroutines and memory Diagrams and explains some more advanced concepts of the Lua VM, particularly when interfacing with C

Awesome Lua / Resources / Talks & Slides

Roberto's Talks History of talks given by Lua's chief architect, with slides for each
Lua Workshop Talks High-quality talks are given at each ~annual Lua Workshop, and a history of them is online, slides included

Awesome Lua / Resources / Books

Programming in Lua The authoritative intro to all aspects of Lua programming, written by Lua's chief architect. Three editions released; first edition available online
Lua Quick Reference A quick reference on how to program in and embed Lua 5.1 through 5.3, by the creator of Textadept
Programming Gems A collection of articles covering existing wisdom and practices on programming well in Lua, in a broad variety of use cases
Lua Programming A shorter overview of the language, up to date for Lua 5.2, and available online

Awesome Lua / Resources / Other Lists

awesome-resty 2,396 9 months ago A list like this one, but focused on OpenResty
awesome-love2d 3,252 3 days ago A list like this one, but focused on game dev and the LÖVE platform
Where Lua is Used A comprehensive list of stand-alone programs written in or extensible using Lua

Backlinks from these awesome lists: