Awesome Lists

awesome-lua

by forhappy

awesome listpushed over 2 years ago

A curated list of awesome Lua frameworks, libraries and software.

AI summary

Lua toolkit

A curated collection of Lua frameworks, libraries, and software

stars
350
forks
39
watching
27
awesome lists
7
entries
95
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/forhappy/awesome-lua/links.svg)](https://awesome.facts.dev/awesome/forhappy/awesome-lua)
HTML
<a href="https://awesome.facts.dev/awesome/forhappy/awesome-lua"><img src="https://awesome.facts.dev/shield/forhappy/awesome-lua/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/forhappy/awesome-lua/links.svg

What's in the list

95 links in 33 sections, with live GitHub stats.activeno commit in 2y

Package Management

  • LuaDist

    LuaDist is a true multi-platform package management system that aims to provide both source and binary repository of modules for the Lua programming language

  • Luaforge

    LuaForge was a software project hosring website set up in 2004 by André Carregal and the Kepler Project, to promote development of Lua software modules

  • LuaRocks

    LuaRocks is a system that allows the versioning of Lua packages and their dependencies. LuaRocks guarantees that every package installed will continue to work, even if its dependencies are updated

Distribution

  • LuaBinaries

    LuaBinaries is a distribution of the Lua libraries and executables compiled for several platforms

Build Tools & IDE

  • Decoda

    Decoda Lua IDE and debugger

  • Lake

    A Lua-based Build Tool

  • ZeroBrane Studio

    A lightweight Lua-based IDE for Lua with code completion, syntax highlighting, live coding, remote debugger, and code analyzer

Filesystem

  • LuaFileSystem

    LuaFileSystem is a Lua library developed to complement the set of functions related to file systems offered by the standard Lua distribution

  • LAR

    LAR stands for Lua ARchive, and consist of a module and a file format that empowers a lua script to load lua modules from within a packaged, compressed file

  • LuaZip

    LuaZip is a lightweight Lua extension library used to read files stored inside zip files. The API is very similar to the standard Lua I/O library API

  • LuaExpat

    LuaExpat is a SAX XML parser based on the Expat library

  • lua-path

    File system path manipulation library

Date and Time

  • LuaDate

    Date & Time module for Lua 5.1/5.2

Lua Implementations

  • UniLua

    A pure c# implementation of Lua 5.2 focus on compatibility with Unity

  • Luerl

    An experimental implementation of Lua 5.2 written solely in pure Erlang

  • MoonScript

    MoonScript is a dynamic scripting language that compiles into Lua

  • lua.js

    An ECMAscript framework to compile and run Lua code, allowing Lua to run in a browser or in Flash

  • lua.vm.js

    The Lua VM, on the Web

  • Moonshine

    A lightweight Lua VM for the browser

  • lua-alchemy

    Port of the Lua programming language for ActionScript using Alchemy

  • NeoLua

    A Lua implementation for the Dynamic Language Runtime (DLR).NeoLua is implemented in C# and uses the Dynamic Language Runtime. It therefore integrates very well with the .net framework

Text Processing

  • Markdown

    A pure-lua implementation of the Markdown text-to-html markup system

Documentation

  • LuaDoc

    LuaDoc is a documentation generator tool for Lua source code

HTTP

  • Xavante

    Xavante is a Lua HTTP 1.1 Web server that uses a modular architecture based on URI mapped handlers

Database

  • Tarantool

    Tarantool is an efficient NoSQL database and a Lua application server

Database Drivers

  • LuaDBI

    LuaDBI is a database interface library for Lua. It is designed to provide a RDBMS agnostic API for handling database operations

  • LuaLDAP

    LuaLDAP is a simple interface from Lua to an LDAP client, in fact it is a bind to OpenLDAP or to ADSI

  • LuaODBC

    ODBC Library for Lua. Also provide LuaSQL compatible module

  • LuaSQL

    LuaSQL is a simple interface from Lua to a DBMS

  • LuaSQLite3

    a Lua 5.1 and Lua 5.2 wrapper for the SQLite3 library

  • Lsqlite

    A simple libsqlite3 binding for lua5.0-5.2 that provides 3 functions only and is still fully functional: local db = lsqlite.open(database) results, err = db:exec(statments) db:close()

Web Frameworks

  • CGIlua

    CGILua is a tool for creating dynamic Web pages and manipulating input data from Web forms

  • Kepler Project

    Kepler is a community of software developers building open software to help make Lua a viable option for development of web applications

  • Orbit

    Orbit is an MVC web framework for Lua

  • WSAPI

    WSAPI is an API that abstracts the web server from Lua web applications

  • Tir

    Tir is an experimental web framework for the Mongrel2 webserver and Lua programming language

  • Lapis

    A web framework for Lua and OpenResty written in MoonScript

  • aLiLua

    A epoll/kqueue based web server, inculded lua/coevent support (support Linux/MacOS/BSD platform)

  • Bamboo

    Bamboo is the web framework of Lua based on Mongrel2, ZeroMQ and NoSQL database

  • MOOCHINE

    A (very) simple and lightweight web framework based on ngx-openresty

CMS

  • Sputnik

    Sputnik is a software application that powers a dynamic website

Email

  • lua-imap4

    Simple IMAP4 protocol wrapper for Lua

  • lua-pop3

    POP3 client library for Lua

  • sendmail

    Simple wrapper around luasoket smtp.send

HTML Manipulation

Processes and Threads

  • lua-llthreads

    Low-Level threads(pthreads or WIN32 threads) for Lua

  • lua-llthreads2

    Enhancement version of lua-llthreads rewritten without code generator

  • LuaLanes

    lightweight, native, lazy evaluating multithreading library for Lua 5.1 and 5.2

Networking

  • Copas

    Copas is a dispatcher based on coroutines that can be used by TCP/IP servers

  • lua-zmq

    Lua bindings to ZeroMQ 2

  • Luakit

    Fast, small, webkit based browser framework extensible by Lua

  • LuaEvent

    This is a binding of libevent to Lua. It will serve as a drop-in replacement for copas, and eventually support more features (async DNS, HTTP, RPC...)

  • LuaSec

    LuaSec is a binding for OpenSSL library to provide TLS/SSL communication

  • LuaSocket

    LuaSocket is a Lua extension library that is composed by two parts: a C core that provides support for the TCP and UDP transport layers, and a set of Lua modules that add support for functionality commonly needed by applications that deal with the Internet

  • LuaNode

    LuaNode allows to write performant net servers or clients, using an asynchronous model of computing (the Reactor pattern). You might have seen this model implemented in event processing frameworks like Node.js, EventMachine or Twisted. In fact, LuaNode is heavily based on Node.js, because I wanted to be able to do what Node.js does, but using Lua instead of JavaScript

  • lzmq

    A Lua wrapper for the ZeroMQ message library. Supports ZeroMQ version above 3.2.0

  • Ngx_lua

    Embed the power of Lua into Nginx

  • Luvit

    Luvit is an attempt to do something crazy by taking node.js' awesome architecture and dependencies and seeing how it fits in the Lua language

  • Turbo

    Turbo provides you with all the stuff you need to develop fast web apps, web API's and networking applications

Cryptography

  • AesFileEncrypt

    A simple file encryption library

  • MD5

    MD5 offers basic cryptographic facilities for Lua 5.1: a hash (digest) function, a pair crypt/decrypt based on MD5 and CFB, and a pair crypt/decrypt based on DES with 56-bit keys

  • LCrypt

    LCrypt provides everything needed to implement a basic ssh client or server including symmetric ciphers, hashes, microtime, random strings, big integers, and zlib compression. An example RSA implementation is included

  • LuaCrypto

    LuaCrypto provides a Lua frontend to the OpenSSL cryptographic library

GUI

  • wxLua

    wxLua is a Lua scripting language wrapper around the wxWidgets cross-platform C++ GUI library

  • IUP

    IUP is a multi-platform toolkit for building graphical user interfaces

  • Lqt

    lqt is a Lua binding to the Qt framework. It is an automated binding generated from the Qt headers, and covers almost all classes and methods from supported Qt modules

  • LuaGnome

    LuaGnome provides a fairly complete binding to Gnome Libraries Lua, including glib 2.x, gdk, gtk 2.x, and a list of supporting libraries

Game Development

  • Skynet

    A lightweight online game framework

  • Scut

    Scut is a free, open source, stable game server framework, which support C#/Python/Lua script, and support Unity3d, Cocos2dx, FlashAir client access

  • LoveDOS

    A framework for making 2D DOS games in Lua. LoveDOS provides an API based on a subset of the LÖVE API

  • PacPac

    This is Pac-Man from a parallel universe

  • aroma

    Aroma is game creation framework/platform that targets Chrome's Native Client. It lets you create games that can be distributed through the Chrome Web Store

Logging

  • LuaLogging

    LuaLogging provides a simple API to use logging features in Lua. Its design was based on log4j. LuaLogging currently supports, through the use of appenders, console, file, email, socket and sql outputs

  • Lsyslog

    lsyslog is a Lua module that wraps the syslog(3) C API. It has been tested with Lua 5.2 on Linux

  • Lua-log

    Asynchronous logging library for Lua 5.1/5.2

Testing

  • Busted

    Elegant Lua unit testing

Code Analysis and Linter

  • Lualint

    lualint performs luac-based static analysis of global variable usage in Lua source code

Debugging Tools

  • RemDebug

    RemDebug is a remote debugger for Lua 5.0 and 5.1. It lets you control the execution of another Lua program remotely, setting breakpoints and inspecting the current state of the program. RemDebug can also debug CGILua scripts

  • LuaProfiler

    LuaProfiler is a time profiler designed to help finding bottlenecks on your Lua program

Science and Data Analysis

  • SciLua

    The aim of this project is to offer a framework for numerical computing which combines the ease of use of scripting languages (Matlab, R, ...) with the high performance of compiled languages (C/C++, Fortran, ...)

Functional Programming

  • Lua Fun

    Lua Fun is a high-performance functional programming library designed for LuaJIT tracing just-in-time compiler

Third-party APIs

  • LPeg

    LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs)

Foreign Function Interface

  • Alien

    A C FFI for Lua

  • FFI Library

    The FFI library allows calling external C functions and using C data structures from pure Lua code

  • LuaFFI

    Standalone FFI library for calling C functions from lua. Compatible with the LuaJIT FFI interface

  • NLua

    NLua is the bind between Lua world and the .NET world

High Performance

  • LuaJIT

    LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language

  • Terra

    Terra is a new low-level system programming language that is designed to interoperate seamlessly with the Lua programming language

  • LLVM-Lua

    JIT/Static compiler for Lua using LLVM on the backend

Microsoft Windows

  • lua-pdh

    Lua binding to Microsoft Performance Data Helper (PDH) library

Miscellaneous

  • Coxpcall

    Coxpcall encapsulates the protected calls with a coroutine based loop, so errors can be dealed without the usual pcall/xpcall issues with coroutines

  • Penlight

    Penlight brings together a set of generally useful pure Lua modules, focussing 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

Resources

Other Awesome Lists

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.