Files
awesome-awesomeness/html/lua.md2.html
2025-07-18 23:13:11 +02:00

620 lines
28 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-lua">Awesome Lua</h1>
<p>A curated list of awesome Lua frameworks, libraries and software.
Inspired by <a
href="https://github.com/vinta/awesome-python">awesome-python</a>.</p>
<ul>
<li><a href="#awesome-Lua">Awesome Lua</a>
<ul>
<li><a href="#environment-management">Environment Management</a></li>
<li><a href="#package-management">Package Management</a></li>
<li><a href="#distribution">Distribution</a></li>
<li><a href="#build-tools">Build Tools</a></li>
<li><a href="#intferactive-interpreter">Interactive Interpreter</a></li>
<li><a href="#filesystem">Filesystem</a></li>
<li><a href="#date-and-time">Date and Time</a></li>
<li><a href="#lua-implementations">Lua Implementations</a></li>
<li><a href="#text-processing">Text Processing</a></li>
<li><a href="#natural-language-processing">Natural Language
Processing</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#command-line-tools">Command-line Tools</a></li>
<li><a href="#downloader">Downloader</a></li>
<li><a href="#imagery">Imagery</a></li>
<li><a href="#audio">Audio</a></li>
<li><a href="#video">Video</a></li>
<li><a href="#geolocation">Geolocation</a></li>
<li><a href="#http">HTTP</a></li>
<li><a href="#database">Database</a></li>
<li><a href="#database-drivers">Database Drivers</a></li>
<li><a href="#orm">ORM</a></li>
<li><a href="#web-frameworks">Web Frameworks</a></li>
<li><a href="#permissions">Permissions</a></li>
<li><a href="#cms">CMS</a></li>
<li><a href="#restful-api">RESTful API</a></li>
<li><a href="#authentication-and-oauth">Authentication and
OAuth</a></li>
<li><a href="#template-engine">Template Engine</a></li>
<li><a href="#queue">Queue</a></li>
<li><a href="#search">Search</a></li>
<li><a href="#news-feed">News Feed</a></li>
<li><a href="#asset-management">Asset Management</a></li>
<li><a href="#caching">Caching</a></li>
<li><a href="#email">Email</a></li>
<li><a href="#internationalization">Internationalization</a></li>
<li><a href="#url-manipulation">URL Manipulation</a></li>
<li><a href="#html-manipulation">HTML Manipulation</a></li>
<li><a href="#web-crawling">Web Crawling</a></li>
<li><a href="#web-content-extracting">Web Content Extracting</a></li>
<li><a href="#forms">Forms</a></li>
<li><a href="#data-validation">Data Validation</a></li>
<li><a href="#anti-spam">Anti-spam</a></li>
<li><a href="#tagging">Tagging</a></li>
<li><a href="#admin-panels">Admin Panels</a></li>
<li><a href="#static-site-generator">Static Site Generator</a></li>
<li><a href="#processes-and-threads">Processes and Threads</a></li>
<li><a href="#networking">Networking</a></li>
<li><a href="#websocket">WebSocket</a></li>
<li><a href="#wsgi-servers">WSGI Servers</a></li>
<li><a href="#rpc-servers">RPC Servers</a></li>
<li><a href="#cryptography">Cryptography</a></li>
<li><a href="#gui">GUI</a></li>
<li><a href="#game-development">Game Development</a></li>
<li><a href="#logging">Logging</a></li>
<li><a href="#testing">Testing</a></li>
<li><a href="#code-analysis-and-linter">Code Analysis and
Linter</a></li>
<li><a href="#debugging-tools">Debugging Tools</a></li>
<li><a href="#science-and-data-analysis">Science and Data
Analysis</a></li>
<li><a href="#data-visualization">Data Visualization</a></li>
<li><a href="#computer-vision">Computer Vision</a></li>
<li><a href="#machine-learning">Machine Learning</a></li>
<li><a href="#functional-programming">Functional Programming</a></li>
<li><a href="#mapreduce">MapReduce</a></li>
<li><a href="#third-party-apis">Third-party APIs</a></li>
<li><a href="#devops-tools">DevOps Tools</a></li>
<li><a href="#job-scheduler">Job Scheduler</a></li>
<li><a href="#foreign-function-interface">Foreign Function
Interface</a></li>
<li><a href="#high-performance">High Performance</a></li>
<li><a href="#algorithms-and-design-patterns">Algorithms and Design
Patterns</a></li>
<li><a href="#hardware">Hardware</a></li>
<li><a href="#miscellaneous">Miscellaneous</a></li>
<li><a href="#editor-plugins">Editor Plugins</a></li>
</ul></li>
<li><a href="#resources">Resources</a>
<ul>
<li><a href="#websites">Websites</a></li>
<li><a href="#weekly">Weekly</a></li>
<li><a href="#twitter">Twitter</a></li>
</ul></li>
<li><a href="#other-awesome-lists">Other Awesome Lists</a></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2 id="environment-management">Environment Management</h2>
<p><em>Libraries for Lua version and environment management.</em></p>
<h2 id="package-management">Package Management</h2>
<p><em>Libraries for package and dependency management.</em></p>
<ul>
<li><a href="http://luadist.org/">LuaDist</a> - 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.</li>
<li><a href="http://luaforge.net/projects/">Luaforge</a> - 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.</li>
<li><a href="http://www.luarocks.org/">LuaRocks</a> - 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.</li>
</ul>
<h2 id="distribution">Distribution</h2>
<p><em>Libraries to create packaged executables for release
distribution.</em></p>
<ul>
<li><a href="http://luabinaries.sourceforge.net/">LuaBinaries</a> -
LuaBinaries is a distribution of the Lua libraries and executables
compiled for several platforms.</li>
</ul>
<h2 id="build-tools-ide">Build Tools &amp; IDE</h2>
<p><em>Compile software from source code.</em></p>
<ul>
<li><a href="https://github.com/unknownworlds/decoda">Decoda</a> -
Decoda Lua IDE and debugger.</li>
<li><a href="https://github.com/stevedonovan/Lake">Lake</a> - A
Lua-based Build Tool</li>
<li><a href="https://github.com/pkulchenko/ZeroBraneStudio">ZeroBrane
Studio</a> - A lightweight Lua-based IDE for Lua with code completion,
syntax highlighting, live coding, remote debugger, and code
analyzer.</li>
</ul>
<h2 id="interactive-interpreter">Interactive Interpreter</h2>
<p><em>Interactive Lua interpreters.</em></p>
<h2 id="filesystem">Filesystem</h2>
<p><em>Libraries for accessing the directory structure and file
attributes.</em></p>
<ul>
<li><a
href="http://keplerproject.github.io/luafilesystem/">LuaFileSystem</a> -
LuaFileSystem is a Lua library developed to complement the set of
functions related to file systems offered by the standard Lua
distribution.</li>
<li><a href="http://www.keplerproject.org/en/LAR">LAR</a> - 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.</li>
<li><a href="http://keplerproject.org/luazip/">LuaZip</a> - 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.</li>
<li><a href="http://matthewwild.co.uk/projects/luaexpat/">LuaExpat</a> -
LuaExpat is a SAX XML parser based on the Expat library.</li>
<li><a href="https://github.com/moteus/lua-path">lua-path</a> - File
system path manipulation library.</li>
</ul>
<h2 id="date-and-time">Date and Time</h2>
<p><em>Libraries for working with dates and times.</em></p>
<ul>
<li><a href="http://tieske.github.io/date">LuaDate</a> - Date &amp; Time
module for Lua 5.1/5.2</li>
</ul>
<h2 id="lua-implementations">Lua Implementations</h2>
<p><em>All kinds of lua implementations</em></p>
<ul>
<li><a href="https://github.com/xebecnan/UniLua">UniLua</a> - A pure c#
implementation of Lua 5.2 focus on compatibility with Unity</li>
<li><a href="https://github.com/rvirding/luerl">Luerl</a> - An
experimental implementation of Lua 5.2 written solely in pure
Erlang.</li>
<li><a href="http://moonscript.org/">MoonScript</a> - MoonScript is a
dynamic scripting language that compiles into Lua.</li>
<li><a href="https://github.com/mherkender/lua.js">lua.js</a> - An
ECMAscript framework to compile and run Lua code, allowing Lua to run in
a browser or in Flash.</li>
<li><a href="https://github.com/kripken/lua.vm.js">lua.vm.js</a> - The
Lua VM, on the Web.</li>
<li><a href="http://moonshinejs.org/">Moonshine</a> - A lightweight Lua
VM for the browser.</li>
<li><a href="https://github.com/lua-alchemy/lua-alchemy">lua-alchemy</a>
- Port of the Lua programming language for ActionScript using
Alchemy.</li>
<li><a href="https://neolua.codeplex.com/">NeoLua</a> - 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.</li>
</ul>
<h2 id="text-processing">Text Processing</h2>
<p><em>Libraries for parsing and manipulating texts.</em></p>
<ul>
<li><a href="http://luaforge.net/projects/markdown/">Markdown</a> - A
pure-lua implementation of the Markdown text-to-html markup system.</li>
<li></li>
</ul>
<h2 id="natural-language-processing">Natural Language Processing</h2>
<p><em>Libraries for working with human languages.</em></p>
<h2 id="documentation">Documentation</h2>
<p><em>Libraries for generating project documentation.</em></p>
<ul>
<li><a href="http://keplerproject.github.io/luadoc/">LuaDoc</a> - LuaDoc
is a documentation generator tool for Lua source code.</li>
</ul>
<h2 id="configuration">Configuration</h2>
<p><em>Libraries for storing configuration options.</em></p>
<h2 id="command-line-tools">Command-line Tools</h2>
<p><em>Libraries for building command-line application.</em></p>
<h2 id="downloader">Downloader</h2>
<p><em>Libraries for downloading.</em></p>
<h2 id="imagery">Imagery</h2>
<p><em>Libraries for manipulating images.</em></p>
<h2 id="audio">Audio</h2>
<p><em>Libraries for manipulating audio.</em></p>
<h2 id="video">Video</h2>
<p><em>Libraries for manipulating video and GIFs.</em></p>
<h2 id="geolocation">Geolocation</h2>
<p><em>Libraries for geocoding addresses and working with latitudes and
longitudes.</em></p>
<h2 id="http">HTTP</h2>
<p><em>Libraries for working with HTTP.</em></p>
<ul>
<li><a href="http://keplerproject.github.io/xavante/">Xavante</a> -
Xavante is a Lua HTTP 1.1 Web server that uses a modular architecture
based on URI mapped handlers.</li>
</ul>
<h2 id="database">Database</h2>
<p><em>Databases implemented in Lua.</em></p>
<ul>
<li><a href="https://github.com/tarantool/tarantool">Tarantool</a> -
Tarantool is an efficient NoSQL database and a Lua application
server.</li>
</ul>
<h2 id="database-drivers">Database Drivers</h2>
<p><em>Libraries for connecting and operating databases.</em></p>
<ul>
<li>Relational Databases
<ul>
<li><a href="https://code.google.com/p/luadbi">LuaDBI</a> - LuaDBI is a
database interface library for Lua. It is designed to provide a RDBMS
agnostic API for handling database operations.</li>
<li><a href="http://www.keplerproject.org/lualdap/">LuaLDAP</a> -
LuaLDAP is a simple interface from Lua to an LDAP client, in fact it is
a bind to OpenLDAP or to ADSI.</li>
<li><a href="http://www.keplerproject.org/luasql/">LuaODBC</a> - ODBC
Library for Lua. Also provide LuaSQL compatible module.</li>
<li><a href="http://www.keplerproject.org/luasql/">LuaSQL</a> - LuaSQL
is a simple interface from Lua to a DBMS.</li>
<li><a href="http://lua.sqlite.org/">LuaSQLite3</a> - a Lua 5.1 and Lua
5.2 wrapper for the SQLite3 library.</li>
<li><a href="http://luaforge.net/projects/lsqlite/">Lsqlite</a> - 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()</li>
</ul></li>
<li>NoSQL Databases</li>
</ul>
<h2 id="orm">ORM</h2>
<p><em>Libraries that implement Object-Relational Mapping or datamapping
techniques.</em></p>
<ul>
<li><p>Relational Databases</p></li>
<li><p>NoSQL Databases</p></li>
</ul>
<h2 id="web-frameworks">Web Frameworks</h2>
<p><em>Full stack web frameworks.</em></p>
<ul>
<li><a href="http://keplerproject.github.io/cgilua/">CGIlua</a> - CGILua
is a tool for creating dynamic Web pages and manipulating input data
from Web forms.</li>
<li><a href="http://www.keplerproject.org/">Kepler Project</a> - Kepler
is a community of software developers building open software to help
make Lua a viable option for development of web applications.</li>
<li><a href="http://keplerproject.github.io/orbit/">Orbit</a> - Orbit is
an MVC web framework for Lua.</li>
<li><a href="http://keplerproject.github.io/wsapi/">WSAPI</a> - WSAPI is
an API that abstracts the web server from Lua web applications.</li>
<li><a href="https://github.com/zedshaw/Tir">Tir</a> - Tir is an
experimental web framework for the Mongrel2 webserver and Lua
programming language.</li>
<li><a href="https://github.com/leafo/lapis">Lapis</a> - A web framework
for Lua and OpenResty written in MoonScript.</li>
<li><a href="https://github.com/oneoo/alilua">aLiLua</a> - A
epoll/kqueue based web server, inculded lua/coevent support (support
Linux/MacOS/BSD platform).</li>
<li><a href="https://github.com/daogangtang/bamboo">Bamboo</a> - Bamboo
is the web framework of Lua based on Mongrel2, ZeroMQ and NoSQL
database.</li>
<li><a href="https://github.com/appwilldev/moochine">MOOCHINE</a> - A
(very) simple and lightweight web framework based on ngx-openresty.</li>
</ul>
<h2 id="permissions">Permissions</h2>
<p><em>Libraries that allow or deny users access to data or
functionality.</em></p>
<h2 id="cms">CMS</h2>
<p><em>Content management systems</em></p>
<ul>
<li><a href="http://sputnik.freewisdom.org/">Sputnik</a> - Sputnik is a
software application that powers a dynamic website.</li>
</ul>
<h2 id="restful-api">RESTful API</h2>
<p><em>Libraries for developing RESTful APIs.</em></p>
<h2 id="authentication-and-oauth">Authentication and OAuth</h2>
<p><em>Libraries for implementing authentications schemes.</em></p>
<h2 id="template-engine">Template Engine</h2>
<p><em>Libraries and tools for templating and lexing.</em></p>
<h2 id="queue">Queue</h2>
<p><em>Libraries for working with event and task queues.</em></p>
<h2 id="search">Search</h2>
<p><em>Libraries and software for indexing and performing search queries
on data.</em></p>
<h2 id="news-feed">News Feed</h2>
<p><em>Libraries for building users activities.</em></p>
<h2 id="asset-management">Asset Management</h2>
<p><em>Tools for managing, compressing and minifying website
assets.</em></p>
<h2 id="caching">Caching</h2>
<p><em>Libraries for caching data.</em></p>
<h2 id="email">Email</h2>
<p><em>Libraries for sending and parsing email.</em></p>
<ul>
<li><a href="https://github.com/vrld/imap4.lua">lua-imap4</a> - Simple
IMAP4 protocol wrapper for Lua</li>
<li><a href="https://github.com/moteus/lua-pop3">lua-pop3</a> - POP3
client library for Lua</li>
<li><a href="https://github.com/moteus/lua-sendmail">sendmail</a> -
Simple wrapper around luasoket smtp.send</li>
</ul>
<h2 id="internationalization">Internationalization</h2>
<p><em>Libraries for woking with i18n.</em></p>
<h2 id="url-manipulation">URL Manipulation</h2>
<p><em>Libraries for parsing URLs.</em></p>
<h2 id="html-manipulation">HTML Manipulation</h2>
<p><em>Libraries for working with HTML and XML.</em></p>
<ul>
<li><a href="http://www.bessems.biz/luatidy/">Luatidy</a> - Lua binding
for <a href="http://tidy.sourceforge.net/">HTMLtidy</a></li>
</ul>
<h2 id="web-crawling">Web Crawling</h2>
<p><em>Libraries for scraping websites.</em></p>
<h2 id="web-content-extracting">Web Content Extracting</h2>
<p><em>Libraries for extracting web contents.</em></p>
<h2 id="forms">Forms</h2>
<p><em>Libraries for working with forms.</em></p>
<h2 id="data-validation">Data Validation</h2>
<p><em>Libraries for validating data. Used for forms in many
cases.</em></p>
<h2 id="anti-spam">Anti-spam</h2>
<p><em>Libraries for fighting spam.</em></p>
<h2 id="tagging">Tagging</h2>
<p><em>Libraries for tagging items.</em></p>
<h2 id="admin-panels">Admin Panels</h2>
<p><em>Libraries for administrative interfaces.</em></p>
<h2 id="static-site-generator">Static Site Generator</h2>
<p><em>Static site generator is a software that takes some text +
templates as input and produces html files on the output.</em></p>
<h2 id="processes-and-threads">Processes and Threads</h2>
<p><em>Libraries for woking with processes or threads</em></p>
<ul>
<li><a
href="https://github.com/Neopallium/lua-llthreads">lua-llthreads</a> -
Low-Level threads(pthreads or WIN32 threads) for Lua.</li>
<li><a
href="https://github.com/moteus/lua-llthreads2">lua-llthreads2</a> -
Enhancement version of lua-llthreads rewritten without
<code>LuaNativeObjects</code> code generator</li>
<li><a href="https://github.com/LuaLanes/lanes">LuaLanes</a> -
lightweight, native, lazy evaluating multithreading library for Lua 5.1
and 5.2</li>
</ul>
<h2 id="networking">Networking</h2>
<p><em>Libraries for network programming.</em></p>
<ul>
<li><a href="http://keplerproject.github.io/copas/">Copas</a> - Copas is
a dispatcher based on coroutines that can be used by TCP/IP
servers.</li>
<li><a href="https://github.com/Neopallium/lua-zmq">lua-zmq</a> - Lua
bindings to ZeroMQ 2</li>
<li><a href="http://mason-larobina.github.io/luakit/">Luakit</a> - Fast,
small, webkit based browser framework extensible by Lua.</li>
<li><a href="http://repo.or.cz/w/luaevent.git">LuaEvent</a> - 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…)</li>
<li><a href="https://github.com/brunoos/luasec">LuaSec</a> - LuaSec is a
binding for OpenSSL library to provide TLS/SSL communication.</li>
<li><a href="http://w3.impa.br/~diego/software/luasocket/">LuaSocket</a>
- 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.</li>
<li><a href="https://github.com/ignacio/LuaNode">LuaNode</a> - 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.</li>
<li><a href="https://github.com/zeromq/lzmq">lzmq</a> - A Lua wrapper
for the ZeroMQ message library. Supports ZeroMQ version above 3.2.0</li>
<li><a href="https://github.com/openresty/lua-nginx-module">Ngx_lua</a>
- Embed the power of Lua into Nginx.</li>
<li><a href="https://github.com/luvit/luvit">Luvit</a> - 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.</li>
<li><a href="http://turbolua.org/">Turbo</a> - Turbo provides you with
all the stuff you need to develop fast web apps, web APIs and
networking applications.</li>
</ul>
<h2 id="websocket">WebSocket</h2>
<p><em>Libraries for woking with WebSocket.</em></p>
<h2 id="wsgi-servers">WSGI Servers</h2>
<p><em>WSGI-compatible web servers.</em></p>
<h2 id="rpc-servers">RPC Servers</h2>
<p><em>RPC-compatible servers.</em></p>
<h2 id="cryptography">Cryptography</h2>
<p><em>Cryptography libraries</em></p>
<ul>
<li><a
href="https://github.com/moteus/lua-AesFileEncrypt">AesFileEncrypt</a> -
A simple file encryption library</li>
<li><a href="http://keplerproject.org/md5/">MD5</a> - 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.</li>
<li><a href="http://luaforge.net/projects/lcrypt/">LCrypt</a> - 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.</li>
<li><a href="http://luacrypto.luaforge.net/">LuaCrypto</a> - LuaCrypto
provides a Lua frontend to the OpenSSL cryptographic library.</li>
</ul>
<h2 id="gui">GUI</h2>
<p><em>Libraries for working with graphical user interface
applications.</em></p>
<ul>
<li><a href="http://wxlua.sourceforge.net/">wxLua</a> - wxLua is a Lua
scripting language wrapper around the wxWidgets cross-platform C++ GUI
library.</li>
<li><a href="http://www.tecgraf.puc-rio.br/iup/">IUP</a> - IUP is a
multi-platform toolkit for building graphical user interfaces.</li>
<li><a href="https://github.com/mkottman/lqt">Lqt</a> - 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.</li>
<li><a href="http://lua-gtk.luaforge.net/en/index.html">LuaGnome</a> -
LuaGnome provides a fairly complete binding to Gnome Libraries Lua,
including glib 2.x, gdk, gtk 2.x, and a list of supporting
libraries.</li>
</ul>
<h2 id="game-development">Game Development</h2>
<p><em>Awesome game development libraries.</em></p>
<ul>
<li><a href="https://github.com/cloudwu/skynet">Skynet</a> - A
lightweight online game framework</li>
<li><a href="https://github.com/ScutGame/Scut">Scut</a> - Scut is a
free, open source, stable game server framework, which support
C#/Python/Lua script, and support Unity3d, Cocos2dx, FlashAir client
access.</li>
<li><a href="https://github.com/rxi/lovedos">LoveDOS</a> - A framework
for making 2D DOS games in Lua. LoveDOS provides an API based on a
subset of the LÖVE API.</li>
<li><a href="https://github.com/tylerneylon/pacpac">PacPac</a> - This is
Pac-Man from a parallel universe.</li>
<li><a href="https://github.com/leafo/aroma">aroma</a> - Aroma is game
creation framework/platform that targets Chromes Native Client. It lets
you create games that can be distributed through the Chrome Web
Store.</li>
</ul>
<h2 id="logging">Logging</h2>
<p><em>Libraries for generating and working with log files.</em></p>
<ul>
<li><a href="http://keplerproject.org/lualogging/">LuaLogging</a> -
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.</li>
<li><a href="https://gitorious.org/lsyslog/lsyslog">Lsyslog</a> -
lsyslog is a Lua module that wraps the syslog(3) C API. It has been
tested with Lua 5.2 on Linux.</li>
<li><a href="https://github.com/moteus/lua-log">Lua-log</a> -
Asynchronous logging library for Lua 5.1/5.2</li>
</ul>
<h2 id="testing">Testing</h2>
<p><em>Libraries for testing codebases and generating test
data.</em></p>
<ul>
<li><a href="https://github.com/Olivine-Labs/busted">Busted</a> -
Elegant Lua unit testing.</li>
</ul>
<h2 id="code-analysis-and-linter">Code Analysis and Linter</h2>
<p><em>Libraries and tools for analysing, parsing and manipulation
codebases.</em></p>
<ul>
<li><a href="https://github.com/philips/lualint">Lualint</a> - lualint
performs luac-based static analysis of global variable usage in Lua
source code.</li>
</ul>
<h2 id="debugging-tools">Debugging Tools</h2>
<p><em>Libraries for debugging code.</em></p>
<ul>
<li><a href="http://keplerproject.org/remdebug/">RemDebug</a> - 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.</li>
<li><a href="http://keplerproject.org/luaprofiler/">LuaProfiler</a> -
LuaProfiler is a time profiler designed to help finding bottlenecks on
your Lua program.</li>
</ul>
<h2 id="science-and-data-analysis">Science and Data Analysis</h2>
<p><em>Libraries for scientific computing and data analyzing.</em></p>
<ul>
<li><a href="http://www.scilua.org/">SciLua</a> - 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, …).</li>
</ul>
<h2 id="data-visualization">Data Visualization</h2>
<p><em>Libraries for visualizing data.</em></p>
<h2 id="computer-vision">Computer Vision</h2>
<p><em>Libraries for computer vision.</em></p>
<h2 id="machine-learning">Machine Learning</h2>
<p><em>Libraries for Machine Learning.</em></p>
<h2 id="mapreduce">MapReduce</h2>
<p><em>Framworks and libraries for MapReduce.</em></p>
<h2 id="functional-programming">Functional Programming</h2>
<p><em>Functional programming in lua</em></p>
<ul>
<li><a href="https://github.com/rtsisyk/luafun">Lua Fun</a> - Lua Fun is
a high-performance functional programming library designed for LuaJIT
tracing just-in-time compiler.</li>
</ul>
<h2 id="third-party-apis">Third-party APIs</h2>
<p><em>Libraries for accessing third party services APIs.</em></p>
<ul>
<li><a href="http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html">LPeg</a>
- LPeg is a new pattern-matching library for Lua, based on Parsing
Expression Grammars (PEGs).</li>
</ul>
<h2 id="devops-tools">DevOps Tools</h2>
<p><em>Software and libraries for DevOps.</em></p>
<h2 id="job-scheduler">Job Scheduler</h2>
<p><em>Libraries for scheduling jobs.</em></p>
<h2 id="foreign-function-interface">Foreign Function Interface</h2>
<p><em>Libraries for providing foreign function interface.</em></p>
<ul>
<li><a href="http://mascarenhas.github.com/alien">Alien</a> - A C FFI
for Lua</li>
<li><a href="http://luajit.org/ext_ffi.html">FFI Library</a> - The FFI
library allows calling external C functions and using C data structures
from pure Lua code.</li>
<li><a href="https://github.com/jmckaskill/luaffi">LuaFFI</a> -
Standalone FFI library for calling C functions from lua. Compatible with
the LuaJIT FFI interface.</li>
<li><a href="https://github.com/NLua/NLua">NLua</a> - NLua is the bind
between Lua world and the .NET world.</li>
</ul>
<h2 id="high-performance">High Performance</h2>
<p><em>Libraries for making Lua faster.</em></p>
<ul>
<li><a href="http://luajit.org/luajit.html">LuaJIT</a> - 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.</li>
<li><a href="http://terralang.org/">Terra</a> - Terra is a new low-level
system programming language that is designed to interoperate seamlessly
with the Lua programming language.</li>
<li><a href="https://code.google.com/p/llvm-lua/">LLVM-Lua</a> -
JIT/Static compiler for Lua using LLVM on the backend.</li>
</ul>
<h2 id="microsoft-windows">Microsoft Windows</h2>
<p><em>Lua programming on Microsoft Windows.</em></p>
<ul>
<li><a href="https://github.com/moteus/lua-pdh">lua-pdh</a> - Lua
binding to Microsoft Performance Data Helper (PDH) library.</li>
</ul>
<h2 id="hardware">Hardware</h2>
<p><em>Libraries for programming with hardware.</em></p>
<h2 id="miscellaneous">Miscellaneous</h2>
<p><em>Useful libraries or tools that dont fit in the categories
above.</em></p>
<ul>
<li><a href="http://keplerproject.github.io/coxpcall/">Coxpcall</a> -
Coxpcall encapsulates the protected calls with a coroutine based loop,
so errors can be dealed without the usual pcall/xpcall issues with
coroutines.</li>
<li><a href="https://github.com/stevedonovan/Penlight">Penlight</a> -
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.</li>
</ul>
<h2 id="algorithms-and-design-patterns">Algorithms and Design
Patterns</h2>
<p><em>Collections of algorithms and design patterns.</em></p>
<h2 id="editor-plugins">Editor Plugins</h2>
<p><em>Plugins for various editors.</em></p>
<ul>
<li>Vim</li>
<li>Emacs</li>
<li>Sublime Text</li>
</ul>
<h1 id="resources">Resources</h1>
<p><em>Where to discover new Lua libraries.</em></p>
<ul>
<li><a href="http://math2.org/luasearch/">LuaSearch</a> - Navigate Lua
Module Documentation</li>
</ul>
<h2 id="websites">Websites</h2>
<h2 id="weekly">Weekly</h2>
<h2 id="twitter">Twitter</h2>
<h1 id="other-awesome-lists">Other Awesome Lists</h1>
<ul>
<li><a
href="https://github.com/bayandin/awesome-awesomeness">awesome-awesomeness</a></li>
<li><a href="https://github.com/jnv/lists">lists</a></li>
</ul>
<h1 id="contributing">Contributing</h1>
<p>Your contributions are always welcome!</p>
<p><a href="https://github.com/LewisJEllis/awesome-lua">lua.md
Github</a></p>