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

my-awesome-lua

My list of quality Lua packages and resources.
https://github.com/MegaBedder/my-awesome-lua

Last synced: 14 days ago
JSON representation

  • Resources

    • Articles

    • Asynchronous I/O

      • Luvit - Lua + libUV + jIT = pure awesomesauce
      • Luver - a ``luvit`` without ``lit``.
      • LuaNode - Asynchronous I/O for Lua, using the [Reactor pattern](https://en.wikipedia.org/wiki/Reactor_pattern) like Node.js, EventMachine or Twisted.
      • node-lua - a runtime environment and server engine for lua-based scripting that runs on multi-core machines in a multi-threaded manner.
      • Node.lua - a Lua runtime environment that uses an event-driven, non-blocking I/O model like Node.js
      • Lua Corovel - Asynchronous, event-loop development environment for Lua
    • Batteries Included

      • Lua for Windows - a 'batteries included environment' for the Lua scripting language on Windows.
      • UFO - Un Finished Object - a portable distribution of LuaJIT with precompiled binaries, libraries and FFI bindings
      • NekoLua - A distribution of Lua customized
      • Omnia - Compile Lua, Fennel and MoonScript source code into standalone executables. Using ``luastatic``.
    • Blogs / Sites

    • Books

      • Table of contents - Read the table of contents of first edition.
      • Preface - Read the preface of first edition.
      • Source Code of the examples - Get the source code for some examples from the book.
      • Creating Solid APIs with Lua - Learn how you can build APIs by integrating the Lua and C programming languages.
      • Lua Programming - A shorter overview of the language, up to date for Lua 5.2, and available online.
      • Lua Quick Reference - This book covers: Object-oriented programming with Lua. Creating and working with Lua and C Modules. Lua's standard library and its C API. Collaborative multi-threading in Lua and C. How to program in and embed Lua 5.1 through 5.3, by the creator of Textadept.
      • Creating Solid APIs with Lua - Learn how you can build APIs by integrating the Lua and C programming languages.
    • Build Tools and Standalone Makers

      • srlua - A tool for building self-running Lua programs.
      • luastatic - Build a standalone executable from a Lua program.
      • Lake - A build engine written in Lua, similar to Ruby's rake.
      • Luabuild - A Custom Lua 5.2 Builder (tool to build a static Lua with bundled libraries)
      • slua - A static build of Lua 5.3 for Linux, with a few extension libraries.
      • Luapak - a command-line tool, multi-platform, adjustable, all-in-one (yet modular) solution for building a standalone, zero-dependencies, possibly statically linked (only on Linux) executable for (almost) any Lua program.
    • [CLI](https://luarocks.org/labels/commandline)

      • Readline - Interface to the readline library
      • linenoise - A small self-contained alternative to readline and libedit.
      • ljlinenoise - a pure LuaJIT port of [linenoise](https://github.com/antirez/linenoise), a small alternative to readline and libedit.
      • lcurses - curses Terminal Screen Control
      • LTUI - A cross-platform terminal ui library based on Lua
    • Compiles to JS, asm.js or WebAssembly for Browser

      • Fengari - Lua VM for the browser. A viable approach to using Lua in the browser and interacting with the DOM.
      • ljs - Lua VM implemented in Javascript
      • Moonshine - A lightweight Lua VM for the browser
      • Brozula - a LuaJIT bytecode interpreter that generates ES5 JavaScript.
      • glua - a Lua VM written in Go, to Javascript.
      • Lua.js - a project that can convert lua code to javascript. lua.js is fully written by javascript
      • lua.vm.js - Compile Lua via emscripten to asm.js. Originally by kripken (author of emscripten).
      • lua5.1.js - Lua 5.1, built with emscripten, with low-level API
      • LuaJS - Lua VM running in Javascript (using emscripten)
      • Luwa - Lua WASM JIT, a Lua runtime on top of WASM
      • wasm_lua - Lua VM running in a WASM environment
    • Compiles to Lua

      • MoonScript - A programmer friendly language that compiles to Lua 5.1.
      • Fennel - a programming language that brings together the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system.
      • Urn - a Lisp dialect with a focus on minimalism which compiles to Lua.
    • Complementary lists

      • awesome-lua - A curated list of quality Lua packages and resources.
      • nginx-resources
      • awesome-love2d - A list like this one, but focused on game dev and the LÖVE platform.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Curlie: Lua - Collection of sites about Lua
      • Lua Tutorials and Courses - Top about Tutorials and Courses
      • Topics/Lua - See more topics about Lua
      • Topics/LuaJIT - See more topics about LuaJIT
      • awesome-resty - A list like this one, but focused on OpenResty.
      • awesome-torch
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
      • Where Lua is Used - A comprehensive list of stand-alone programs written in or extensible using Lua.
    • Cryptographic

      • lua-argon2 - the Argon2 password hashing function. Compatible with Lua 5.x and LuaJIT.
      • PLC - A small collection of crpytographic functions, and related utilities, implemented in pure Lua (version 5.3 or above)
      • Luazen - a small library with various encoding, compression and cryptographic functions. All the functions work on strings, there is no stream or chunked more complex interfaces.
      • luatweetnacl - Lua binding to the NaCl ("Tweet" version) crypto library
    • Database drivers

      • LuaSQL - a simple interface from Lua to various DBMS. Connect to ODBC, ADO, Oracle, MySQL, SQLite, Firebird and PostgreSQL databases.
      • LuaDBI - Multi-backend SQL database interface library for Lua. It is designed to provide a RDBMS agnostic API. Supports DB2, Oracle, MySQL, PostgreSQL and SQLite databases with native database drivers.
      • LuaSQLite3 - a Lua wrapper for the SQLite3 library.
      • PL/Lua - an implementation of Lua as a loadable procedural language for PostgreSQL.
      • pgmoon - a PostgreSQL client library written in Lua for OpenResty
      • Tarantool - is an in-memory database and application server.
      • Redis - A Lua client library for the Redis key value storage system.
      • lredis - a Redis (in-memory data structure store) client library for Lua
      • LuaSQLite3 - a Lua wrapper for the SQLite3 library.
    • Data structures

      • Tuple - Tuple of Values for Lua.
      • binarystream - Lua library to work with binary data (needs ffi support)
      • lua-users: Data Structures - Here are implementations of various data structures in Lua or related discussions.
      • array.lua - A small library with useful methods to handle Lua's table when it's working like an Array
      • lua-users: Data Structures - Here are implementations of various data structures in Lua or related discussions.
    • Debugging

      • MobDebug - Remote debugger for Lua.
      • clidebugger - A simple command line interface debugger for Lua 5.1 written in pure Lua.
      • inspect.lua - Human-readable representation of Lua tables
      • chrome-devtools-client - Chrome DevTools client for Lua
      • lovebird - a Browser-based debug console. Originally made for LÖVE, but works in any project with LuaSocket support.
      • ProFi - Simple profiler that works with LuaJIT and produces a report file.
      • luatrace - Toolset for tracing/analyzing/profiling script execution and generating detailed reports.
      • StackTracePlus - Drop-in upgrade to Lua's stack traces which adds local context and improves readability.
    • Dialects, flavors and implementations

      • Céu - a reactive language that aims to offer a higher-level and safer alternative to C. “Structured Synchronous Reactive Programming”
      • Lua Implementations - Reimplementations of Lua compilers and interpreters.
      • SquiLu - A mix between [Squirrel](http://squirrel-lang.org/) 3.0.4 and Lua 5.1.5, trying to get the best of both. Squirrel scripting language modified with lua libraries
      • Céu - a reactive language that aims to offer a higher-level and safer alternative to C. “Structured Synchronous Reactive Programming”
      • Lua Implementations - Reimplementations of Lua compilers and interpreters.
    • Digital Signal processing

      • LuaRadio - a lightweight, embeddable flow graph signal processing framework for software-defined radio. It provides a suite of source, sink, and processing blocks, with a simple API for defining flow graphs, running flow graphs, creating blocks, and creating data types.
    • Distribution

      • LuaWiMix - A Lua distribution similar to LuaForWindows without anything but ilua, but with support for Lua 5.1 5.2 and 5.3 including optional luarocks and a switching mechanism.
    • File System

      • luafilesystem - LuaFileSystem complements the set of file system functions offered by the standard Lua distribution.
    • Frequently Asked Questions (FAQ)

      • Lua FAQ - official Lua FAQ
      • Lua-Users FAQ - unofficial Lua FAQ, it is maintained by the Lua community.
      • Lua-Users FAQ - unofficial Lua FAQ, it is maintained by the Lua community.
    • Game Framework

      • Skynet - a lightweight online game framework which can be used in many other fields.
      • NoobHub - Network multiplayer and messaging for CoronaSDK, Moai, Gideros, LÖVE & Defold
    • Glossaries

    • GUI

      • Yue - A library for creating native cross-platform GUI apps.
      • wxLua - a wrapper around the [wxWidgets](http://www.wxwidgets.org/) cross-platform C++ GUI library.
    • Guides / Tutorials

      • Lecture Notes based on PiL - course notes based on Programming in Lua book
      • Lua-Users: Lua Tutorial - This tutorial is aimed at all newcomers to the language Lua. We start off with where to find relevant introductory material and then progress to using the language with tutorials in the [TutorialDirectory)](http://lua-users.org/wiki/TutorialDirectory).
      • Lua Short Reference - The Lua short reference provides a concise summary of the Lua 5.1 syntax and core libraries.
      • Devhints.io: Cheatsheet for Lua
      • TutorialsPoint.com: Lua Tutorial - is designed for all those readers who are looking for a starting point to learn Lua. It has topics suitable for both beginners as well as advanced users.
      • Lua Tutorial | Novice Tutorial - Lua Application Scenario: Game development
      • RIP Tutorial: Lua - Getting started with Lua
      • The.Lua.Tutorial - An Introduction to Lua and The Crash Course to Lua.
      • LuaGuide - A guide to help people learn Lua
      • Litt's Lua Laboratory - The 10% you need -- for 90% of your work
      • Lua for Programmers - Language Essentials, Data and Standard Libraries, More Advanced Concepts and Tips and Tricks.
      • Phrogz: Learning Lua - Learning Lua/From JS, Referenced Values, Metatables, and Simple Inheritance, and Pseudo-OOP Syntax and Scope.
      • Learn Lua from JavaScript - If you know JavaScript, learning Lua is a snap, as Tyler Neylon explains in this series
      • Learn Lua the Hard Way - a person has never programmed before at all
      • Lua-Users: Lua Tutorial - This tutorial is aimed at all newcomers to the language Lua. We start off with where to find relevant introductory material and then progress to using the language with tutorials in the [TutorialDirectory)](http://lua-users.org/wiki/TutorialDirectory).
      • Lua Short Reference - The Lua short reference provides a concise summary of the Lua 5.1 syntax and core libraries.
      • Lua Missions - A series of 'Missions' to work through which are designed to teach aspects of Lua along the way.
      • Learn Lua from JavaScript - If you know JavaScript, learning Lua is a snap, as Tyler Neylon explains in this series
      • Lua Tutorial | Novice Tutorial - Lua Application Scenario: Game development
      • The.Lua.Tutorial - An Introduction to Lua and The Crash Course to Lua.
    • IDE, Plugins and text editor

      • ZeroBrane Studio - a lightweight Lua IDE with code completion, syntax highlighting, live coding, code analyzer, and debugging support for Lua 5.x, LuaJIT, and other Lua engines.
      • Howl Editor - A general purpose, fast and lightweight editor with a keyboard-centric minimalistic user interface. Built on LuaJIT and fully programmable using Lua or Moonscript.
      • SciTE - a SCIntilla based Text Editor, with embedded Lua interpreter.
      • vscode-lua - VSCode intellisense and linting.
      • Textadept - A fast, minimalist, and remarkably extensible cross-platform text editor
    • Implementations, Interpreters, and Bindings

      • Lua Repo - The official Lua repo, as seen by the Lua team, mirrored to GitHub.
    • I/O

      • lunary - A binary format I/O framework for Lua.
      • lua-nixio - a multi-platform library for IPv4, IPv6 and UNIX networking, POSIX user/group management, TLS support. System, Networking and I/O library for Lua.
      • LuaSys - a portable Lua library providing access to system and networking functions.
    • Libraries

      • lualinq - Lightweight library which allows functional querying and transformation of lua arrays and objects
      • Libraries And Bindings - a list of libraries implemented in Lua or implemented in another language (e.g. C) but having a Lua interface.
      • LuaWebDriver - code.com/blog/2018/11/6.html) - a browser automation library using WebDriver API.
      • LuaCS - code.com/blog/2018/5/23.html) - a CSS Selectors parser library for Lua
      • XMLua - code.com/blog/2017/12/25.html) - An user-friendly XML/HTML processing library for Lua based on libxml2
      • luaexpat - a SAX XML parser based on the Expat (a stream-oriented XML parser) library.
      • LuaExpatUtils - Utilities for working with LOM XML Documents
      • luapower/expat - A ffi binding for the Expat XML parser.
      • lua-cjson - Lua CJSON is a fast JSON encoding/parsing module for Lua
      • neturl - A Robust URL Parser (with the ability to parse querystrings) and Builder for Lua.
      • lucihttp - HTTP utility library with Lua binding9
      • LPegLabel - a conservative extension of the ``LPeg`` library that provides an implementation of Parsing Expression Grammars (PEGs) with labeled failures.
      • lpeg_patterns - A collection of LPEG patterns
      • luatz - Time, Date and Timezone library for lua
      • Libraries And Bindings - a list of libraries implemented in Lua or implemented in another language (e.g. C) but having a Lua interface.
      • LPeg - a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs). [[1]](http://www.inf.puc-rio.br/~roberto/docs/ry08-4.pdf) [[2]](http://www.inf.puc-rio.br/~roberto/docs/ry10-01.pdf)
    • Lua 5.1

      • LuaJIT - High-performance Just-In-Time compiler for Lua.
      • Typed Lua + IDE Support
      • Idle - At the core of Idle sits a tweaked and significantly enhanced version of Lua 5.1. Includes a GUI module, built from scratch; usable ("good enough") to create simple GUIs and dialog boxes.
      • Agena - based on Lua 5.1 C source, but has significant syntax differences
      • GSL Shell - an interactive command line interface that gives easy access to a collection of numeric algorithms and functions based on the GNU Scientific Library (GSL).
      • LuaJIT - High-performance Just-In-Time compiler for Lua.
      • LuaJIT 2 - OpenResty's Branch of LuaJIT 2 (fork)
      • RaptorJIT - A dynamic language for system programming (LuaJIT fork for Linux/x86-64 server applications)
      • Moonjit - JIT Compiler for the Lua. Fork of LuaJIT to continue development
      • LuaVela - an implementation of Lua 5.1 based on LuaJIT 2.0, for Linux x86-64 only.
      • LjTools - LuaJIT Assembler/Disassembler - Tool to study LuaJIT 2.0 Bytecode with GUI
      • Shine - a general purpose, dynamic, multi-paradigm programming language which is based on a [modified version](https://github.com/richardhundt/tvmjit) of the LuaJIT VM with features geared more to programming in the large.
      • Metalua - a compiler for a superset of the Lua 5.1 language, which supports compile-time metaprogramming.
      • Typed Lua - An Optional Type System for Lua
      • Typed Lua + OO Support - A Class System for Typed Lua
      • Firth - pre-alpha-1-a-forth-like-language-for-dsl-creation/) - A simple Forth-like language intended for DSL creation, implemented in Lua.
      • Agena - based on Lua 5.1 C source, but has significant syntax differences
Categories