awesome-lua

Lua toolkit

A curated list of quality Lua packages and resources for building applications.

A curated list of quality Lua packages and resources.

GitHub

4k stars
154 watching
322 forks
last commit: about 2 years ago
Linked from 12 awesome lists


Awesome Lua / Resources / Implementations, Interpreters, and Bindings

LuaLua's original ANSI C interpreter

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

Lua Repo8,639almost 2 years agoThe official Lua repo, as seen by the Lua team, mirrored to GitHub

Awesome Lua / Resources / Implementations, Interpreters, and Bindings

LuaJITHigh-performance Just-In-Time compiler for Lua
LLVM-Lua153over 10 years agoCompiles Lua to LLVM
lua.vm.js835about 8 years agoLua VM on the web; a direct port of the C interpreter via LLVM, emscripten, and asm.js
Moonshine502over 5 years agoA Lua VM implemented in JavaScript. Slower than lua.vm.js, but with better docs, examples, and JS interfacing
FengariThe Lua VM rewritten in Javascript with seamless JS and DOM interoperability
MoonSharp1,424almost 3 years agoA Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms
UniLua1,111over 2 years agoA pure C# implementation of Lua 5.2, focused on compatibility with the Unity game engine
lupa1,027almost 2 years agoPython bindings to LuaJIT2
golua652almost 2 years agoGolang bindings to the Lua C API
GopherLua6,322almost 2 years agoLua 5.1 VM and compiler implemented in Go with Go APIs
LuaBridge1,656almost 2 years agoA lightweight library for mapping data, functions, and classes back and forth between C++ and Lua

Awesome Lua / Resources / Package Managers

LuaRocksDe-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

Lake134about 11 years agoA build engine written in Lua, similar to Ruby's rake
Luabuild79almost 11 years agoHighly customizable Lua 5.2 build system
luastatic795almost 3 years agoSimple tool for turning Lua programs into standalone executables
omnia47almost 6 years agoA batteries-included creator of standalone executables, built on top of luastatic

Awesome Lua / Resources / Debugging and Profiling

ProFiSimple profiler that works with LuaJIT and produces a report file
luatrace170almost 11 years agoToolset for tracing/analyzing/profiling script execution and generating detailed reports
StackTracePlus195about 3 years agoDrop-in upgrade to Lua's stack traces which adds local context and improves readability
MobDebug893almost 3 years agoPowerful remote debugger with breakpoints and stack inspection. Used by ZeroBraneStudio
lovebird294over 5 years agoBrowser-based debug console. Originally made for LÖVE, but works in any project with LuaSocket support

Awesome Lua / Resources / IDEs and Plugins

Lua Development ToolsEclipse plugin which provides code completion, debugging, and more. Built on Metalua
Lua for IDEAIntelliJ IDEA plugin which, among other things, provides code completion, smart highlighting, and experimental debugging
ZeroBraneStudioLightweight, customizable, cross-platform Lua-dedicated IDE with code completion and analysis, written in Lua. Has broad debugging support for numerous Lua engines
BabeLuaLua editor/debugger extension for VS2012-13 with highlighting, auto-completion, linting, and formatting capabilities
lua-mode322about 2 years agoEmacs major mode for editing Lua
vscode-lua116over 2 years agoVSCode intellisense and linting

Awesome Lua / Resources / Utility Belts

Lua Fun2,125almost 2 years agoHigh-performance functional programming library designed for LuaJIT
Moses632almost 7 years agoFunctional programming utility belt, inspired by Underscore.js
Penlight1,946almost 2 years agoBroad, heavyweight utility library, inspired by Python's standard libs. Provides the batteries that Lua doesn't
lua-stdlib289over 3 years agoMiddle-weight standard library extension; adds some useful data structures, utility functions, and basic functional stuff
Microlight169about 4 years agoA little library of useful Lua functions; the 'extra light' version of Penlight
compat53Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1
RxLua522over 6 years agoReactive Extensions, Observables, etc

Awesome Lua / Resources / Game Engines

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

Awesome Lua / Resources / Game Development / Corona

CoroniumSimple cloud platform supporting analytics, data objects, user management, and more

Awesome Lua / Resources / Game Development / LÖVE

awesome-love2d3,357almost 2 years agoA list like this one, but focused on game dev and the LÖVE platform
lurker292about 3 years agoShortens the iteration cycle by auto-swapping changed Lua files in a running LÖVE project
HUMPA set of lightweight helpers for LÖVE; a game-oriented utility belt

Awesome Lua / Resources / Game Development / MOAI

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

Awesome Lua / Resources / Game Development

Jumper620almost 4 years agoFast, lightweight, and easy-to-use pathfinding library for grid-based games
lume1,027almost 3 years agoUtility belt library geared toward game development
NoobHub324about 2 years agoNetwork multiplayer for Corona, LÖVE, and more, following a simple pub-sub model

Awesome Lua / Resources / Game Development / Collision detection

bump.lua948almost 3 years agoMinimal rectangle-based collision detection which handles tunnelling and basic collision resolution
HardonColliderDetect collisions between arbitrarily positioned and rotated shapes of any type

Awesome Lua / Resources / Game Development / Tweening

flux397almost 6 years agoA fast, lightweight tweening library for Lua with easing functions and the ability to group tweens together
tween.lua590over 3 years agoSmall library for tweening, with several easing functions

Awesome Lua / Resources / Game Development / Examples

termtris450almost 7 years agoA tetris clone, written in literate style with "an emphasis on learn-from-ability"
PacPac344over 11 years agoA Pac-man clone, made with LÖVE
Mari0669about 3 years agoFusion of Mario and Portal, made with LÖVE. See also its
Journey to the Center of Hawkthorne1,098almost 2 years ago2D platformer based on Community's episode, made with LÖVE

Awesome Lua / Resources / Logging

lua-log110about 8 years agoAsynchronous logging library with pluggable writers for file system, network, ZeroMQ, and more
LuaLogging146over 5 years agoLog4j-inspired logging library supporting various appenders
luasyslogLog to syslog, based on LuaLogging

Awesome Lua / Resources / Web/Networking Platforms

OpenRestyA 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
turboEvent-driven, non-blocking, LuaJIT-based networking suite and framework, inspired by Tornado
Kepler ProjectA collection of web-oriented projects using a common set of standards and components
Pegasus.lua425almost 2 years agoPegasus.lua is a http server to work with web applications written in Lua language

Awesome Lua / Resources / OpenResty

awesome-resty2,413almost 2 years agoA list like this one, but focused on OpenResty

Awesome Lua / Resources / OpenResty / Core platform

ngx_luaThe 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 OrganizationHome of the repositories for ngx_lua, ngx_openresty, and many related modules

Awesome Lua / Resources / OpenResty / Third-party modules

lua-resty-http2,007over 2 years agoLua HTTP client driver, built on the cosocket API

Awesome Lua / Resources / OpenResty / Frameworks & tools

LapisFull-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript
ledge455over 5 years agoLua module providing scriptable, RFC-compliant HTTP cache functionality
Sailor928almost 4 years ago— An MVC web framework compatible with OpenResty, Apache and other webservers
Kong39,568almost 2 years agoMicroservice & API Management Layer

Awesome Lua / Resources / Command-line Utilities

ansicolors137over 2 years agoSimple function for printing to the console in color
cliargs123almost 3 years agoA simple command-line argument parsing module
lua-term158about 2 years agoTerminal operations and manipulations
argparse266almost 6 years agoA feature-rich command line parser inspired by argparse for Python

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

Lumen154almost 2 years agoSimple concurrent task scheduling
ConcurrentLua159almost 12 years agoImplements an Erlang-style message-passing concurrency model
cqueuesLibrary for managing sockets, signals, and threads based on an event loop with coroutines

Awesome Lua / Resources / Concurrency and Multithreading / Multithreading:

llthreads145almost 2 years agoA simple wrapper for low-level pthreads & WIN32 threads
llthreads276almost 3 years agoNewer rewrite of llthreads
lanes469almost 2 years agoLibrary implementing a message passing model with one OS thread per Lua thread
luaproc119about 9 years agoMessage-passing model which allows multiple threads per OS thread and easily generalizes across a network. See also where it originated

Awesome Lua / Resources / Templating

lustacheMustache template implementation
etlua219almost 3 years agoEmbedded Lua templates, ERB-style
lua-resty-template912about 3 years agoLua-oriented template engine for OpenResty, somewhat Jinja-like

Awesome Lua / Resources / Documentation

LDocDocumentation generator which modernizes and extends
LoccoLua port of , the "quick-and-dirty, hundred-line-long, literate-programming-style documentation generator"
docroc14almost 11 years agoParse comments into a Lua table to generate documentation

Awesome Lua / Resources / Object-oriented Programming

30log459over 5 years agoMinimalist OOP library with basic classes, inheritance, and mixins in 30 lines
middleclass1,776over 3 years agoSimple but robust OOP library with inheritance, methods, metamethods, class variables and mixins

Awesome Lua / Resources / File system and OS

LuaFileSystemExtends and complements Lua's built-in set of file system functions
luaposix538about 2 years agoBindings for POSIX APIs, including curses
lunixBindings to common Unix system APIs, striving for thread-safety
lua-path83over 5 years agoFile system path manipulation library

Awesome Lua / Resources / Time and Date

LuaDate263about 3 years agoDate and time module with parsing, formatting, addition/subtraction, localization, and ISO 8601 support
cron.lua178about 3 years agoTime-related functions for Lua, inspired by JavaScript's setTimeout and setInterval
luatx121over 2 years agoTime, date, and timezone library

Awesome Lua / Resources / Image Manipulation

magick410over 2 years agoLua bindings to ImageMagick for LuaJIT using FFI

Awesome Lua / Resources / Digital Signal Processing

LuaFFT58over 2 years agoAn easy to use Fast Fourier Transformation package in pure Lua
WorpSound/music/DSP engine written for LuaJIT

Awesome Lua / Resources / Hardware and Embedded Systems

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

Awesome Lua / Resources / Math and Scientific Computing

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

Awesome Lua / Resources / Parsing and Serialization / JSON

lua-cjson939over 2 years agoBlazing fast JSON encoding/decoding implemented in C and exposed to Lua
luajson251almost 3 years agoJSON encoder/decoder implemented in Lua on top of LPeg
dkjsonJSON encoder/decoder implemented in pure Lua
json.lua1,882almost 3 years agoA fast and tiny JSON library in pure Lua

Awesome Lua / Resources / Parsing and Serialization / XML

LuaExpatSAX XML parser via binding to the Expat library
SLAXML154about 2 years agoPure Lua SAX-like streaming XML parser

Awesome Lua / Resources / Parsing and Serialization / MessagePack

lua-MessagePackPure Lua implementation of MessagePack
lua-cmsgpack358over 4 years agoA MessagePack C implementation with Lua bindings, as used by Redis.=

Awesome Lua / Resources / Parsing and Serialization / LPeg

LPegA pattern-matching library for Lua, based on Parsing Expression Grammars
lpeg_patterns121over 4 years agoA collection of LPeg patterns
LuLPeg254over 4 years agoA pure Lua implementation of LPeg v0.12
LPegLJ109over 4 years agoA pure LuaJIT implementation of LPeg v1.0
LPegLabel141over 3 years agoAn extension of LPeg adding support for labeled failures

Awesome Lua / Resources / Parsing and Serialization

lyaml210over 3 years agoYAML encoding/decoding via binding to LibYAML
lunamark199about 2 years agoConverts Markdown to other textual formats including HTML and LaTeX. Uses LPeg for fast parsing
LXSH73almost 4 years agoA collection of lexers and syntax highlighters written with LPeg
lua-pb290over 8 years agoProtocol Buffers implementation

Awesome Lua / Resources / Humanize

i18n.lua257almost 4 years agoInternationalization library with locales, formatting, and pluralization
inspect.lua1,391about 3 years agoHuman-readable representation of Lua tables
serpent559over 4 years agoSerializer and pretty printer
Ser76over 10 years agoDead simple serializer with good performance
say47about 3 years agoSimple string key-value store for i18n

Awesome Lua / Resources / Compression

lua-zlib276over 3 years agoSimple streaming interface to zlib for gzip/gunzip
lua-zip83over 4 years agoLua binding to libzip. Reads and writes zip files

Awesome Lua / Resources / Cryptography

LuaCrypto101over 7 years agoLua bindings to OpenSSL
lua-lockbox362over 2 years agoA collection of cryptographic primitives written in pure Lua
luatweetnacl17almost 5 years agoBindings to tweetnacl, modern high-security cryptographic library
luaossl145about 2 years ago"Most comprehensive OpenSSL module in the Lua universe" - used by lapis, kong, and lua-http

Awesome Lua / Resources / Network

LuaSocket1,870about 2 years agoNetworking extension which provides a socket API for TCP and UDP, and implements HTTP, FTP, and SMTP
lua-websockets403almost 4 years agoWebSocket client and server modules. Webserver-agnostic, implemented in Lua on top of LuaSocket
lua-cURLv3282about 3 years agoLua binding to libcurl
lua-http808about 2 years agoAsynchronous HTTP and WebSocket library with client and server APIs, TLS, and HTTP/2; based on cqueues

Awesome Lua / Resources / Data Stores

LuaSQLSimple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL
pgmoon398about 3 years agoLua PostgreSQL driver for OpenResty, LuaSocket, and cqueues
lua-resty-mysql709about 2 years agoLua MySQL driver for OpenResty
lua-resty-cassandra68over 9 years agoLua Cassandra client driver for OpenResty and others

Awesome Lua / Resources / Data Stores / Redis

redis-lua737almost 3 years agoPure Lua client library for Redis
lua-resty-redis1,907about 2 years agoLua Redis client driver for OpenResty
lredis42over 5 years agoAsynchronous Redis client with pipelining and Pub/Sub support; based on cqueues

Awesome Lua / Resources / Message Brokers

lua-zmq153almost 2 years agoLua bindings to ZeroMQ
lzmq137about 6 years agoA newer Lua binding to ZeroMQ
lua-resty-kafka803almost 3 years agoKafka client driver based on OpenResty cosockets
lua-resty-rabbitmqstomp194over 6 years agoRabbitMQ client library based on OpenResty cosockets

Awesome Lua / Resources / Testing

bustedBDD-style unit testing framework with great docs and Moonscript support
telescope161about 9 years agoFlexible and highly customizable testing library
luassert209almost 2 years agoAssertion library extending Lua's built-in assertions
lust112almost 2 years agoMinimal test framework

Awesome Lua / Resources / Foreign Function Interfaces

LuaJIT FFILuaJIT's mechanism for calling external C functions and using C data structures from pure Lua code
luaffi473almost 6 years agoStandalone FFI library, compatible with the LuaJIT FFI interface

Awesome Lua / Resources / Analysis Tools and ASTs

luadec51322over 4 years agoLua Decompiler for Lua version 5.1
luacovSimple coverage analyzer, used by busted and telescope for checking test coverage

Awesome Lua / Resources / Analysis Tools and ASTs / luacov

luacov-coveralls50over 4 years agoLuaCov reporter for coveralls.io

Awesome Lua / Resources / Analysis Tools and ASTs

luacheck1,923almost 4 years agoSimple static analyzer which detects accidental globals and undefined or shadowed locals
Metalua350over 2 years agoPure Lua parser and compiler, used for generating ASTs. A number of other tools make use of the Metalua parser in this way
LuaInspect173over 10 years agoLua's most powerful code analysis and linting tool, built on Metalua. Used by ZeroBraneStudio, among others
LuaMinify259almost 4 years agoMinifier which also brings its own static analysis tools, lexer, and parser
Typed Lua568over 6 years agoA typed superset of Lua that compiles to plain Lua
lua-parser193over 3 years agoA Lua 5.3 parser written using LPegLabel, with improved error messages

Awesome Lua / Resources / Experimental, etc

punchdrunk.js81over 10 years agoMoonshine + LÖVE API reimplementation = run LÖVE games in the browser
luvit3,839almost 2 years agoNode.js's underlying architecture (libUV) with Lua on top instead of JavaScript
graphql-lua187over 3 years agoLua implementation of

Awesome Lua / Resources / Scriptable by Lua

luakitFast, small, webkit based browser framework extensible by Lua
HammerspoonA powerful, extensible OS X automation tool. A community-maintained fork of
kpie80almost 6 years agoA scripting utility to juggle windows
lumailA console-based mail client, with extensive scripting capabilities
AwesomeWMA highly configurable and extensible window manager for X, scripted and configured by Lua
TextadeptExtremely lightweight, customizable, cross-platform editor, written (mostly) in (and scripted by) Lua
KoReader17,338almost 2 years agoAn ebook reader application supports PDF, DJVU, EPUB, FB2 and much more, running on Kindle, Kobo, PocketBook and Android devices

Awesome Lua / Resources / Miscellaneous

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

Awesome Lua / Resources / Community

lua-lThe official Lua mailing list, and one of the focal points of the Lua community
Lua.SpaceThe Lua community blog
Lua Users FoundationAn association of individuals with the mission of supporting and promoting Lua and its community and ecosystems
lua-users.orgA 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 WorkshopAnnual 2-day meeting of the Lua community, in rotating locations
Lua ConfAnnual 1-day Lua conference in Brazil
FOSDEMAnnual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom"

Awesome Lua / Resources / References

Reference ManualThe official definition of the Lua language
lua-users wikiA large community-maintained collection of Lua information and resources, supplementing the official website
Lua Unofficial FAQAnswers all sorts of Lua-related questions, including many of the form 'How to ___?'

Awesome Lua / Resources / Glossaries

Lua 5.3 GlossaryA glossary of some essential Lua terms

Awesome Lua / Resources / Style Guides

Lua-users style guideA general, high-level style guide; unopinionated, easily agreed on
Olivine style guide521about 5 years agoA more opinionated and specific, and therefore more rigorous, guide

Awesome Lua / Resources / Tutorials

Lua Crash CourseShort crash course readover, or reference for when you forget the basics
Learn Lua in 15 MinutesA well-commented example file which covers the basics
Learning Lua from JSAn overview of the similarities and differences between Lua and JS; a great start for JavaScript folks looking to pick up Lua
lua-users tutorialIn-depth collection of tutorials aimed at newcomers
Lua Missions379over 2 years agoA series of 'Missions' to work through which are designed to teach aspects of Lua along the way
Creating an Image ServerWalks 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 CAn introductory walkthrough of embedding Lua in a C program. A bit dated, but still a great walkthrough
Lua: Good, bad, and ugly partsA 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 memoryDiagrams and explains some more advanced concepts of the Lua VM, particularly when interfacing with C

Awesome Lua / Resources / Talks & Slides

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

Awesome Lua / Resources / Books

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

Awesome Lua / Resources / Other Lists

awesome-resty2,413almost 2 years agoA list like this one, but focused on OpenResty
awesome-love2d3,357almost 2 years agoA list like this one, but focused on game dev and the LÖVE platform
Where Lua is UsedA comprehensive list of stand-alone programs written in or extensible using Lua

Backlinks from these awesome lists:

More related projects: