update
This commit is contained in:
619
html/lua.md2.html
Normal file
619
html/lua.md2.html
Normal file
@@ -0,0 +1,619 @@
|
||||
<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 & 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 & 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 user’s 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 API’s 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 Chrome’s 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 don’t 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>
|
||||
Reference in New Issue
Block a user