Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-lua

A curated list of quality Lua packages and resources.
https://github.com/LewisJEllis/awesome-lua

Last synced: 5 days ago
JSON representation

  • Resources

    • Logging

      • luasyslog - Log to syslog, based on LuaLogging.
    • Web/Networking Platforms

      • OpenResty - A fast and scalable web application platform created by extending Nginx with Lua. Today's de-facto Lua web platform, used heavily by Cloudflare, Taobao, Tencent, and others.
      • turbo - Event-driven, non-blocking, LuaJIT-based networking suite and framework, inspired by Tornado.
      • Kepler Project - A collection of web-oriented projects using a common set of standards and components.
    • OpenResty

      • OpenResty GitHub Organization - Home of the repositories for ngx_lua, ngx_openresty, and many related modules.
      • Lapis - Full-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript.
      • lua-resty-http - Lua HTTP client driver, built on the cosocket API.
      • Lapis - Full-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript.
      • ledge - Lua module providing scriptable, RFC-compliant HTTP cache functionality.
    • Concurrency and Multithreading

    • Templating

      • lustache - Mustache template implementation.
    • File system and OS

      • lunix - Bindings to common Unix system APIs, striving for thread-safety.
      • LuaFileSystem - Extends and complements Lua's built-in set of file system functions.
    • Digital Signal Processing

      • Worp - Sound/music/DSP engine written for LuaJIT.
    • Hardware and Embedded Systems

      • eLua - Lua, extended with optimizations and specific features for efficient and portable embedded software development.
      • eLua - Lua, extended with optimizations and specific features for efficient and portable embedded software development.
    • Math and Scientific Computing

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

      • LuaExpat - SAX XML parser via binding to the Expat library.
      • lua-MessagePack - Pure Lua implementation of MessagePack.
      • LPeg - A pattern-matching library for Lua, based on Parsing Expression Grammars.
      • LuaExpat - SAX XML parser via binding to the Expat library.
      • LPeg - A pattern-matching library for Lua, based on Parsing Expression Grammars.
      • dkjson - JSON encoder/decoder implemented in pure Lua.
    • Implementations, Interpreters, and Bindings

      • Lua - Lua's original ANSI C interpreter.
      • LuaJIT - High-performance Just-In-Time compiler for Lua.
      • Fengari - The Lua VM rewritten in Javascript with seamless JS and DOM interoperability.
      • Lua - Lua's original ANSI C interpreter.
      • MoonSharp - A Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms.
    • Package Managers

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

      • ProFi - Simple profiler that works with LuaJIT and produces a report file.
    • IDEs and Plugins

      • Lua Development Tools - Eclipse plugin which provides code completion, debugging, and more. Built on Metalua.
      • Lua for IDEA - IntelliJ IDEA plugin which, among other things, provides code completion, smart highlighting, and experimental debugging.
      • ZeroBraneStudio - Lightweight, customizable, cross-platform Lua-dedicated IDE with code completion and analysis, written in Lua. Has broad debugging support for numerous Lua engines.
      • BabeLua - Lua editor/debugger extension for VS2012-13 with highlighting, auto-completion, linting, and formatting capabilities.
      • Lua Development Tools - Eclipse plugin which provides code completion, debugging, and more. Built on Metalua.
    • Utility Belts

      • compat53 - Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1.
      • Penlight - Broad, heavyweight utility library, inspired by Python's standard libs. Provides the batteries that Lua doesn't.
    • Game Engines

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

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

      • busted - BDD-style unit testing framework with great docs and Moonscript support.
      • luassert - Assertion library extending Lua's built-in assertions.
    • Foreign Function Interfaces

      • LuaJIT FFI - LuaJIT's mechanism for calling external C functions and using C data structures from pure Lua code.
    • Scriptable by Lua

      • Hammerspoon - A powerful, extensible OS X automation tool. A community-maintained fork of [Mjolnir](http://www.mjolnir.io/).
      • lumail - A console-based mail client, with extensive scripting capabilities.
      • AwesomeWM - A highly configurable and extensible window manager for X, scripted and configured by Lua.
      • Hammerspoon - A powerful, extensible OS X automation tool. A community-maintained fork of [Mjolnir](http://www.mjolnir.io/).
      • Textadept - Extremely lightweight, customizable, cross-platform editor, written (mostly) in (and scripted by) Lua.
    • Miscellaneous

      • MoonScript - Moonscript is a dynamic scripting language that compiles to Lua. It reduces verbosity and provides a rich set of features like comprehensions and classes. Its author calls it 'CoffeeScript for Lua'.
      • sitegen - A static site generator which uses MoonScript and supports HTML and Markdown, page grouping, and plugins.
      • sitegen - A static site generator which uses MoonScript and supports HTML and Markdown, page grouping, and plugins.
    • Community

      • lua-l - The official Lua mailing list, and one of the focal points of the Lua community.
      • Lua.Space - The Lua community blog.
      • Lua Users Foundation - An association of individuals with the mission of supporting and promoting Lua and its community and ecosystems.
      • lua-users.org - A site for and by users of Lua, featuring an IRC channel, a web archive of lua-l, and a large wiki.
      • Lua Workshop - Annual 2-day meeting of the Lua community, in rotating locations.
      • Lua Conf - Annual 1-day Lua conference in Brazil.
      • FOSDEM - Annual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom".
      • lua-l - The official Lua mailing list, and one of the focal points of the Lua community.
      • Lua Conf - Annual 1-day Lua conference in Brazil.
      • FOSDEM - Annual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom".
      • Lua Conf - Annual 1-day Lua conference in Brazil.
    • References

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

    • Style Guides

    • Tutorials

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

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

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

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

      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • awesome-love2d - A list like this one, but focused on game dev and the LÖVE platform.
    • Command-line Utilities

      • cliargs - A simple command-line argument parsing module.
    • Humanize

      • say - Simple string key-value store for i18n.
    • Network

      • LuaSocket - Networking extension which provides a socket API for TCP and UDP, and implements HTTP, FTP, and SMTP.
    • Data Stores

      • LuaSQL - Simple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL.
    • Analysis Tools and ASTs

      • luacov - Simple coverage analyzer, used by busted and telescope for checking test coverage.