434 lines
47 KiB
Plaintext
434 lines
47 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Lua [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://github.com/sindresorhus/awesome)[0m
|
||
|
||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mA curated list of quality Lua [39m[38;5;14m[1mpackages[0m[38;5;12m (#packages) and [39m[38;5;14m[1mresources[0m[38;5;12m (#resources).[39m
|
||
|
||
[38;5;12mInspired by the lists [39m[38;5;14m[1mawesome[0m[38;5;12m (https://github.com/sindresorhus/awesome), [39m[38;5;14m[1mawesome-awesomeness[0m[38;5;12m (https://github.com/bayandin/awesome-awesomeness), and [39m[38;5;14m[1mawesome-nodejs[0m[38;5;12m (https://github.com/sindresorhus/awesome-nodejs).[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mPackages[0m
|
||
[38;5;12m- [39m[38;5;14m[1mImplementations, Interpreters, and Bindings[0m[38;5;12m (#implementations-interpreters-and-bindings)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPackage Managers[0m[38;5;12m (#package-managers)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBuild Tools and Standalone Makers[0m[38;5;12m (#build-tools-and-standalone-makers)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDebugging and Profiling[0m[38;5;12m (#debugging-and-profiling)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIDEs and Plugins[0m[38;5;12m (#ides-and-plugins)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUtility Belts[0m[38;5;12m (#utility-belts)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGame Engines[0m[38;5;12m (#game-engines)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGame Development[0m[38;5;12m (#game-development)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLogging[0m[38;5;12m (#logging)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWeb/Networking Platforms[0m[38;5;12m (#webnetworking-platforms)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOpenResty[0m[38;5;12m (#openresty)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCommand-line Utilities[0m[38;5;12m (#command-line-utilities)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mConcurrency and Multithreading[0m[38;5;12m (#concurrency-and-multithreading)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTemplating[0m[38;5;12m (#templating)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDocumentation[0m[38;5;12m (#documentation)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mObject-oriented Programming[0m[38;5;12m (#object-oriented-programming)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFile system and OS[0m[38;5;12m (#file-system-and-os)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTime and Date[0m[38;5;12m (#time-and-date)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mImage Manipulation[0m[38;5;12m (#image-manipulation)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDigital Signal Processing[0m[38;5;12m (#digital-signal-processing)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHardware and Embedded Systems[0m[38;5;12m (###hardware-and-embedded-systems)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMath and Scientific Computing[0m[38;5;12m (#math-and-scientific-computing)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mParsing and Serialization[0m[38;5;12m (#parsing-and-serialization)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHumanize[0m[38;5;12m (#humanize)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCompression[0m[38;5;12m (#compression)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCryptography[0m[38;5;12m (#cryptography)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNetwork[0m[38;5;12m (#network)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mData Stores[0m[38;5;12m (#data-stores)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMessage Brokers[0m[38;5;12m (#message-brokers)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTesting[0m[38;5;12m (#testing)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mForeign Function Interfaces[0m[38;5;12m (#foreign-function-interfaces)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAnalysis Tools and ASTs[0m[38;5;12m (#analysis-tools-and-asts)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mExperimental, etc[0m[38;5;12m (#experimental-etc)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mScriptable by Lua[0m[38;5;12m (#scriptable-by-lua)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMiscellaneous[0m[38;5;12m (#miscellaneous)[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mResources[0m
|
||
[38;5;12m- [39m[38;5;14m[1mCommunity[0m[38;5;12m (#community)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mReferences[0m[38;5;12m (#references)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mStyle Guides[0m[38;5;12m (#style-guides)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTutorials[0m[38;5;12m (#tutorials)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mArticles[0m[38;5;12m (#articles)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTalks & Slides[0m[38;5;12m (#talks--slides)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBooks[0m[38;5;12m (#books)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOther Lists[0m[38;5;12m (#other-lists)[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mImplementations, Interpreters, and Bindings[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLua[0m[38;5;12m (http://www.lua.org/download.html) - Lua's original ANSI C interpreter.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLua Repo[0m[38;5;12m (https://github.com/lua/lua) - The official Lua repo, as seen by the Lua team, mirrored to GitHub.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaJIT[0m[38;5;12m (http://luajit.org/luajit.html) - High-performance Just-In-Time compiler for Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLLVM-Lua[0m[38;5;12m (https://github.com/neopallium/llvm-lua) - Compiles Lua to LLVM.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua.vm.js[0m[38;5;12m (https://github.com/daurnimator/lua.vm.js) - Lua VM on the web; a direct port of the C interpreter via LLVM, emscripten, and asm.js.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMoonshine[0m[38;5;12m (https://github.com/gamesys/moonshine) - A Lua VM implemented in JavaScript. Slower than lua.vm.js, but with better docs, examples, and JS interfacing.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFengari[0m[38;5;12m (https://fengari.io/) - The Lua VM rewritten in Javascript with seamless JS and DOM interoperability.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMoonSharp[0m[38;5;12m (https://github.com/xanathar/moonsharp) - A Lua interpreter written entirely in C# for the .NET, Mono and Unity platforms.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUniLua[0m[38;5;12m (https://github.com/xebecnan/UniLua) - A pure C# implementation of Lua 5.2, focused on compatibility with the Unity game engine.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlupa[0m[38;5;12m (https://github.com/scoder/lupa) - Python bindings to LuaJIT2.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mgolua[0m[38;5;12m (https://github.com/aarzilli/golua) - Golang bindings to the Lua C API.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGopherLua[0m[38;5;12m (https://github.com/yuin/gopher-lua) - Lua 5.1 VM and compiler implemented in Go with Go APIs.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaBridge[0m[38;5;12m (https://github.com/vinniefalco/LuaBridge) - A lightweight library for mapping data, functions, and classes back and forth between C++ and Lua.[39m
|
||
|
||
[38;5;12mNote: From LuaJIT to Lua to lua.vm.js to Moonshine, a basic benchmark sees performance drop by roughly a factor of 6 with each hop.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mPackage Managers[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaRocks[0m[38;5;12m (https://luarocks.org/) - De-facto tool for installing Lua modules as packages called "rocks", plus public rock repository and website. Much like npm or pip.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mBuild Tools and Standalone Makers[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLake[0m[38;5;12m (https://github.com/stevedonovan/Lake) - A build engine written in Lua, similar to Ruby's rake.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLuabuild[0m[38;5;12m (https://github.com/stevedonovan/luabuild) - Highly customizable Lua 5.2 build system.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluastatic[0m[38;5;12m (https://github.com/ers35/luastatic) - Simple tool for turning Lua programs into standalone executables.[39m
|
||
[38;5;12m- [39m[38;5;14m[1momnia[0m[38;5;12m (https://github.com/tongson/omnia) - A batteries-included creator of standalone executables, built on top of luastatic.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mDebugging and Profiling[0m
|
||
[38;5;12m- [39m[38;5;14m[1mProFi[0m[38;5;12m (https://gist.github.com/perky/2838755) - Simple profiler that works with LuaJIT and produces a report file.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluatrace[0m[38;5;12m (https://github.com/geoffleyland/luatrace) - Toolset for tracing/analyzing/profiling script execution and generating detailed reports.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mStackTracePlus[0m[38;5;12m (https://github.com/ignacio/StackTracePlus) - Drop-in upgrade to Lua's stack traces which adds local context and improves readability.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMobDebug[0m[38;5;12m (https://github.com/pkulchenko/MobDebug) - Powerful remote debugger with breakpoints and stack inspection. Used by ZeroBraneStudio.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlovebird[0m[38;5;12m (https://github.com/rxi/lovebird) - Browser-based debug console. Originally made for LÖVE, but works in any project with LuaSocket support.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mIDEs and Plugins[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Development Tools[0m[38;5;12m (https://eclipse.org/ldt/) - Eclipse plugin which provides code completion, debugging, and more. Built on Metalua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua for IDEA[0m[38;5;12m (https://bitbucket.org/sylvanaar2/lua-for-idea/wiki/Home) - IntelliJ IDEA plugin which, among other things, provides code completion, smart highlighting, and experimental debugging.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mZeroBraneStudio[0m[38;5;12m (https://studio.zerobrane.com/) - Lightweight, customizable, cross-platform Lua-dedicated IDE with code completion and analysis, written in Lua. Has broad debugging support for numerous Lua engines.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBabeLua[0m[38;5;12m (https://archive.codeplex.com/?p=babelua) - Lua editor/debugger extension for VS2012-13 with highlighting, auto-completion, linting, and formatting capabilities.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-mode[0m[38;5;12m (https://github.com/immerrr/lua-mode) - Emacs major mode for editing Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mvscode-lua[0m[38;5;12m (https://github.com/trixnz/vscode-lua) - VSCode intellisense and linting.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mUtility Belts[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Fun[0m[38;5;12m (https://github.com/luafun/luafun) - High-performance functional programming library designed for LuaJIT.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMoses[0m[38;5;12m (https://github.com/Yonaba/Moses) - Functional programming utility belt, inspired by Underscore.js.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPenlight[0m[38;5;12m (https://github.com/stevedonovan/Penlight) - Broad, heavyweight utility library, inspired by Python's standard libs. Provides the batteries that Lua doesn't.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-stdlib[0m[38;5;12m (https://github.com/lua-stdlib/lua-stdlib) - Middle-weight standard library extension; adds some useful data structures, utility functions, and basic functional stuff.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMicrolight[0m[38;5;12m (https://github.com/stevedonovan/Microlight) - A little library of useful Lua functions; the 'extra light' version of Penlight.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcompat53[0m[38;5;12m (https://luarocks.org/modules/siffiejoe/compat53) - Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRxLua[0m[38;5;12m (https://github.com/bjornbytes/RxLua) - Reactive Extensions, Observables, etc.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mGame Engines[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLÖVE 2D[0m[38;5;12m (http://love2d.org/) - Desktop game development platform. Cross-platform, feature-complete, well-adopted.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCorona SDK[0m[38;5;12m (https://coronalabs.com/) - Development platform for iOS and Android. Proprietary, but used by numerous top games and apps, totaling over 150 million downloads.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMOAI[0m[38;5;12m (http://getmoai.com/) - Open source, cross-platform, mobile game development framework. Minimalist C++ engine powered by Lua scripting.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDrystal[0m[38;5;12m (https://drystal.github.io/) - Open source, games can run on Linux or on any platform with a recent web browser.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAmulet[0m[38;5;12m (http://www.amulet.xyz/) - Open source, audio/visual toolkit suitable for small games and experimentation. It runs on Windows, Mac, Linux, HTML5 and iOS.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLÖVR[0m[38;5;12m (https://lovr.org) - 3D framework for creating virtual reality experiences, inspired by LÖVE 2D.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mGame Development[0m
|
||
[38;5;12m- Corona[39m
|
||
[38;5;12m - [39m[38;5;14m[1mCoronium[0m[38;5;12m (https://develephant.github.io/coronium-core-docs/) - Simple cloud platform supporting analytics, data objects, user management, and more.[39m
|
||
[38;5;12m- LÖVE[39m
|
||
[38;5;12m - [39m[38;5;14m[1mawesome-love2d[0m[38;5;12m (https://github.com/love2d-community/awesome-love2d) - A list like this one, but focused on game dev and the LÖVE platform.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlurker[0m[38;5;12m (https://github.com/rxi/lurker) - Shortens the iteration cycle by auto-swapping changed Lua files in a running LÖVE project.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mHUMP[0m[38;5;12m (http://vrld.github.io/hump/) - A set of lightweight helpers for LÖVE; a game-oriented utility belt.[39m
|
||
[38;5;12m- MOAI[39m
|
||
[38;5;12m - [39m[38;5;14m[1mmoaifiddle[0m[38;5;12m (https://moaifiddle.com) - Edit and share short scripts for the MOAI game engine and run them in the browser using WebGL.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJumper[0m[38;5;12m (https://github.com/Yonaba/Jumper) - Fast, lightweight, and easy-to-use pathfinding library for grid-based games.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlume[0m[38;5;12m (https://github.com/rxi/lume/) - Utility belt library geared toward game development.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNoobHub[0m[38;5;12m (https://github.com/Overtorment/NoobHub) - Network multiplayer for Corona, LÖVE, and more, following a simple pub-sub model.[39m
|
||
[38;5;12m- Collision detection[39m
|
||
[38;5;12m - [39m[38;5;14m[1mbump.lua[0m[38;5;12m (https://github.com/kikito/bump.lua) - Minimal rectangle-based collision detection which handles tunnelling and basic collision resolution.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mHardonCollider[0m[38;5;12m (http://vrld.github.io/HardonCollider/) - Detect collisions between arbitrarily positioned and rotated shapes of any type.[39m
|
||
[38;5;12m- Tweening[39m
|
||
[38;5;12m - [39m[38;5;14m[1mflux[0m[38;5;12m (https://github.com/rxi/flux) - A fast, lightweight tweening library for Lua with easing functions and the ability to group tweens together.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mtween.lua[0m[38;5;12m (https://github.com/kikito/tween.lua) - Small library for tweening, with several easing functions.[39m
|
||
[38;5;12m- Examples[39m
|
||
[38;5;12m - [39m[38;5;14m[1mtermtris[0m[38;5;12m (https://github.com/tylerneylon/termtris) - A tetris clone, written in literate style with "an emphasis on learn-from-ability".[39m
|
||
[38;5;12m - [39m[38;5;14m[1mPacPac[0m[38;5;12m (https://github.com/tylerneylon/pacpac) - A Pac-man clone, made with LÖVE.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mMari0[0m[38;5;12m (https://github.com/Stabyourself/mari0) - Fusion of Mario and Portal, made with LÖVE. See also its [39m[38;5;14m[1mwikipedia entry[0m[38;5;12m (https://en.wikipedia.org/wiki/Mari0).[39m
|
||
[38;5;12m - [39m[38;5;14m[1mJourney to the Center of Hawkthorne[0m[38;5;12m (https://github.com/hawkthorne/hawkthorne-journey) - 2D platformer based on Community's [39m[38;5;14m[1mDigital Estate Planning[0m[38;5;12m (https://en.wikipedia.org/wiki/Digital_Estate_Planning) episode, made with LÖVE.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mLogging[0m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-log[0m[38;5;12m (https://github.com/moteus/lua-log) - Asynchronous logging library with pluggable writers for file system, network, ZeroMQ, and more.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaLogging[0m[38;5;12m (https://github.com/Neopallium/lualogging) - Log4j-inspired logging library supporting various appenders.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluasyslog[0m[38;5;12m (https://luarocks.org/modules/luarocks/luasyslog) - Log to syslog, based on LuaLogging.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mWeb/Networking Platforms[0m
|
||
[38;5;12m- [39m[38;5;14m[1mOpenResty[0m[38;5;12m (http://openresty.org/en/) - 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.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mturbo[0m[38;5;12m (https://turbo.readthedocs.io/en/latest/) - Event-driven, non-blocking, LuaJIT-based networking suite and framework, inspired by Tornado.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mKepler Project[0m[38;5;12m (https://github.com/keplerproject) - A collection of web-oriented projects using a common set of standards and components.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPegasus.lua[0m[38;5;12m (https://github.com/EvandroLG/pegasus.lua) - Pegasus.lua is a http server to work with web applications written in Lua language.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mOpenResty[0m
|
||
[38;5;12m- [39m[38;5;14m[1mawesome-resty[0m[38;5;12m (https://github.com/bungle/awesome-resty) - A list like this one, but focused on OpenResty.[39m
|
||
[38;5;12m- Core platform[39m
|
||
[38;5;12m - [39m[38;5;14m[1mngx_lua[0m[38;5;12m (https://www.nginx.com/resources/wiki/modules/lua/) - The core piece of OpenResty. Embeds Lua in Nginx and exposes, among other things, the cosocket API for non-blocking sockets (compatible with LuaSocket's API).[39m
|
||
[38;5;12m - [39m[38;5;14m[1mOpenResty GitHub Organization[0m[38;5;12m (https://github.com/openresty) - Home of the repositories for ngx_lua, ngx_openresty, and many related modules.[39m
|
||
[38;5;12m- Third-party modules[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlua-resty-http[0m[38;5;12m (https://github.com/pintsized/lua-resty-http) - Lua HTTP client driver, built on the cosocket API.[39m
|
||
[38;5;12m- Frameworks & tools[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLapis[0m[38;5;12m (http://leafo.net/lapis/) - Full-stack framework for Lua and OpenResty. Like the Django or Rails of Lua. Supports Moonscript.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mledge[0m[38;5;12m (https://github.com/pintsized/ledge) - Lua module providing scriptable, RFC-compliant HTTP cache functionality.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mSailor[0m[38;5;12m (https://github.com/sailorproject/sailor) — An MVC web framework compatible with OpenResty, Apache and other webservers.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mKong[0m[38;5;12m (https://github.com/Kong/kong) - Microservice & API Management Layer.[39m
|
||
|
||
[38;5;12mSearch this page for 'OpenResty' to find related packages under other categories (data stores in particular).[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mCommand-line Utilities[0m
|
||
[38;5;12m- [39m[38;5;14m[1mansicolors[0m[38;5;12m (https://github.com/kikito/ansicolors.lua) - Simple function for printing to the console in color.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcliargs[0m[38;5;12m (https://github.com/amireh/lua_cliargs) - A simple command-line argument parsing module.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-term[0m[38;5;12m (https://github.com/hoelzro/lua-term) - Terminal operations and manipulations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1margparse[0m[38;5;12m (https://github.com/mpeterv/argparse) - A feature-rich command line parser inspired by argparse for Python.[39m
|
||
|
||
[38;2;255;187;0m[4mConcurrency and Multithreading[0m
|
||
[38;5;12m- Coroutine-based multitasking:[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLumen[0m[38;5;12m (https://github.com/xopxe/Lumen) - Simple concurrent task scheduling.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mConcurrentLua[0m[38;5;12m (https://github.com/lefcha/concurrentlua) - Implements an Erlang-style message-passing concurrency model.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mcqueues[0m[38;5;12m (http://25thandclement.com/~william/projects/cqueues.html) - Library for managing sockets, signals, and threads based on an event loop with coroutines.[39m
|
||
[38;5;12m- Multithreading:[39m
|
||
[38;5;12m - [39m[38;5;14m[1mllthreads[0m[38;5;12m (https://github.com/Neopallium/lua-llthreads) - A simple wrapper for low-level pthreads & WIN32 threads.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mllthreads2[0m[38;5;12m (https://github.com/moteus/lua-llthreads2) - Newer rewrite of llthreads.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlanes[0m[38;5;12m (https://github.com/LuaLanes/lanes) - Library implementing a message passing model with one OS thread per Lua thread.[39m
|
||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mluaproc[0m[38;5;12m [39m[38;5;12m(https://github.com/askyrme/luaproc)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mMessage-passing[39m[38;5;12m [39m[38;5;12mmodel[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mallows[39m[38;5;12m [39m[38;5;12mmultiple[39m[38;5;12m [39m[38;5;12mthreads[39m[38;5;12m [39m[38;5;12mper[39m[38;5;12m [39m[38;5;12mOS[39m[38;5;12m [39m[38;5;12mthread[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12measily[39m[38;5;12m [39m[38;5;12mgeneralizes[39m[38;5;12m [39m[38;5;12macross[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mnetwork.[39m[38;5;12m [39m[38;5;12mSee[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1mpaper[0m[38;5;12m [39m[38;5;12m(http://www.inf.puc-rio.br/~roberto/docs/ry08-05.pdf)[39m[38;5;12m [39m[38;5;12mwhere[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m
|
||
[38;5;12moriginated.[39m
|
||
|
||
[38;5;12mFor[39m[38;5;12m [39m[38;5;12mmore[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mdifferences[39m[38;5;12m [39m[38;5;12m(particularly[39m[38;5;12m [39m[38;5;12mbetween[39m[38;5;12m [39m[48;5;235m[38;5;249mlanes[49m[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[48;5;235m[38;5;249mluaproc[49m[39m[38;5;12m),[39m[38;5;12m [39m[38;5;12msee[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;14m[1mcomparison[0m[38;5;12m [39m[38;5;12m(http://www.luteus.biz/Download/LoriotPro_Doc/LUA/LUA_For_Windows/lanes/comparison.html)[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12moptions;[39m[38;5;12m [39m[38;5;12msomewhat[39m[38;5;12m [39m[38;5;12mdated,[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12mcovers[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12meach[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mworks[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m
|
||
[38;5;12msignificant[39m[38;5;12m [39m[38;5;12mdifferences.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mTemplating[0m
|
||
[38;5;12m- [39m[38;5;14m[1mlustache[0m[38;5;12m (http://olivinelabs.com/lustache/) - Mustache template implementation.[39m
|
||
[38;5;12m- [39m[38;5;14m[1metlua[0m[38;5;12m (https://github.com/leafo/etlua) - Embedded Lua templates, ERB-style.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-resty-template[0m[38;5;12m (https://github.com/bungle/lua-resty-template) - Lua-oriented template engine for OpenResty, somewhat Jinja-like.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mDocumentation[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLDoc[0m[38;5;12m (http://stevedonovan.github.io/ldoc/) - Documentation generator which modernizes and extends [39m[38;5;14m[1mLuaDoc[0m[38;5;12m (http://keplerproject.github.io/luadoc/).[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLocco[0m[38;5;12m (http://rgieseke.github.io/locco/) - Lua port of [39m[38;5;14m[1mDocco[0m[38;5;12m (http://ashkenas.com/docco/), the "quick-and-dirty, hundred-line-long, literate-programming-style documentation generator".[39m
|
||
[38;5;12m- [39m[38;5;14m[1mdocroc[0m[38;5;12m (https://github.com/bjornbytes/docroc) - Parse comments into a Lua table to generate documentation.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mObject-oriented Programming[0m
|
||
[38;5;12m- [39m[38;5;14m[1m30log[0m[38;5;12m (https://github.com/Yonaba/30log) - Minimalist OOP library with basic classes, inheritance, and mixins in 30 lines.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mmiddleclass[0m[38;5;12m (https://github.com/kikito/middleclass) - Simple but robust OOP library with inheritance, methods, metamethods, class variables and mixins.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mFile system and OS[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaFileSystem[0m[38;5;12m (http://keplerproject.github.io/luafilesystem/) - Extends and complements Lua's built-in set of file system functions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluaposix[0m[38;5;12m (https://github.com/luaposix/luaposix) - Bindings for POSIX APIs, including curses.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlunix[0m[38;5;12m (http://25thandclement.com/~william/projects/lunix.html) - Bindings to common Unix system APIs, striving for thread-safety.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-path[0m[38;5;12m (https://github.com/moteus/lua-path) - File system path manipulation library.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mTime and Date[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaDate[0m[38;5;12m (https://github.com/Tieske/date) - Date and time module with parsing, formatting, addition/subtraction, localization, and ISO 8601 support.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mcron.lua[0m[38;5;12m (https://github.com/kikito/cron.lua) - Time-related functions for Lua, inspired by JavaScript's setTimeout and setInterval.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluatx[0m[38;5;12m (https://github.com/daurnimator/luatz) - Time, date, and timezone library.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mImage Manipulation[0m
|
||
[38;5;12m- [39m[38;5;14m[1mmagick[0m[38;5;12m (https://github.com/leafo/magick) - Lua bindings to ImageMagick for LuaJIT using FFI.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mDigital Signal Processing[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaFFT[0m[38;5;12m (https://github.com/h4rm/luafft) - An easy to use Fast Fourier Transformation package in pure Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWorp[0m[38;5;12m (http://worp.zevv.nl/about.html) - Sound/music/DSP engine written for LuaJIT.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mHardware and Embedded Systems[0m
|
||
[38;5;12m- [39m[38;5;14m[1meLua[0m[38;5;12m (http://www.eluaproject.net/) - Lua, extended with optimizations and specific features for efficient and portable embedded software development.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mMath and Scientific Computing[0m
|
||
[38;5;12m- [39m[38;5;14m[1mSciLua[0m[38;5;12m (http://scilua.org/) - Numerical/scientific computing framework built on LuaJIT, with an interface to R.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTorch7[0m[38;5;12m (http://torch.ch/) - Scientific computing framework with wide support for machine learning algorithms, used by Facebook, Google, and more.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlhf's Lua Tools[0m[38;5;12m (http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/) - Assorted libraries and tools, many math- or data-related.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mParsing and Serialization[0m
|
||
[38;5;12m- JSON[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlua-cjson[0m[38;5;12m (https://github.com/mpx/lua-cjson/) - Blazing fast JSON encoding/decoding implemented in C and exposed to Lua.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mluajson[0m[38;5;12m (https://github.com/harningt/luajson) - JSON encoder/decoder implemented in Lua on top of LPeg.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mdkjson[0m[38;5;12m (http://dkolf.de/src/dkjson-lua.fsl/home) - JSON encoder/decoder implemented in pure Lua.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mjson.lua[0m[38;5;12m (https://github.com/rxi/json.lua) - A fast and tiny JSON library in pure Lua.[39m
|
||
[38;5;12m- XML[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLuaExpat[0m[38;5;12m (https://matthewwild.co.uk/projects/luaexpat/) - SAX XML parser via binding to the Expat library.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mSLAXML[0m[38;5;12m (https://github.com/Phrogz/SLAXML) - Pure Lua SAX-like streaming XML parser.[39m
|
||
[38;5;12m- MessagePack[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlua-MessagePack[0m[38;5;12m (https://github.com/fperrad/lua-MessagePack) - Pure Lua implementation of MessagePack.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlua-cmsgpack[0m[38;5;12m (https://github.com/antirez/lua-cmsgpack) - A MessagePack C implementation with Lua bindings, as used by Redis.=[39m
|
||
[38;5;12m- LPeg[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLPeg[0m[38;5;12m (http://www.inf.puc-rio.br/~roberto/lpeg/) - A pattern-matching library for Lua, based on Parsing Expression Grammars.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlpeg_patterns[0m[38;5;12m (https://github.com/daurnimator/lpeg_patterns) - A collection of LPeg patterns.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLuLPeg[0m[38;5;12m (https://github.com/pygy/LuLPeg) - A pure Lua implementation of LPeg v0.12.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLPegLJ[0m[38;5;12m (https://github.com/sacek/LPegLJ) - A pure LuaJIT implementation of LPeg v1.0.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLPegLabel[0m[38;5;12m (https://github.com/sqmedeiros/lpeglabel) - An extension of LPeg adding support for labeled failures.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlyaml[0m[38;5;12m (https://github.com/gvvaughan/lyaml) - YAML encoding/decoding via binding to LibYAML.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlunamark[0m[38;5;12m (https://github.com/jgm/lunamark) - Converts Markdown to other textual formats including HTML and LaTeX. Uses LPeg for fast parsing.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLXSH[0m[38;5;12m (https://github.com/xolox/lua-lxsh) - A collection of lexers and syntax highlighters written with LPeg.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-pb[0m[38;5;12m (https://github.com/Neopallium/lua-pb) - Protocol Buffers implementation.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mHumanize[0m
|
||
[38;5;12m- [39m[38;5;14m[1mi18n.lua[0m[38;5;12m (https://github.com/kikito/i18n.lua) - Internationalization library with locales, formatting, and pluralization.[39m
|
||
[38;5;12m- [39m[38;5;14m[1minspect.lua[0m[38;5;12m (https://github.com/kikito/inspect.lua) - Human-readable representation of Lua tables.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mserpent[0m[38;5;12m (https://github.com/pkulchenko/serpent) - Serializer and pretty printer.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSer[0m[38;5;12m (https://github.com/gvx/Ser) - Dead simple serializer with good performance.[39m
|
||
[38;5;12m- [39m[38;5;14m[1msay[0m[38;5;12m (https://github.com/Olivine-Labs/say) - Simple string key-value store for i18n.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mCompression[0m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-zlib[0m[38;5;12m (https://github.com/brimworks/lua-zlib) - Simple streaming interface to zlib for gzip/gunzip.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-zip[0m[38;5;12m (https://github.com/brimworks/lua-zip) - Lua binding to libzip. Reads and writes zip files.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mCryptography[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaCrypto[0m[38;5;12m (https://github.com/mkottman/luacrypto) - Lua bindings to OpenSSL.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-lockbox[0m[38;5;12m (https://github.com/somesocks/lua-lockbox) - A collection of cryptographic primitives written in pure Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluatweetnacl[0m[38;5;12m (https://github.com/philanc/luatweetnacl) - Bindings to tweetnacl, modern high-security cryptographic library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluaossl[0m[38;5;12m (https://github.com/wahern/luaossl) - "Most comprehensive OpenSSL module in the Lua universe" - used by lapis, kong, and lua-http.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mNetwork[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaSocket[0m[38;5;12m (https://github.com/diegonehab/luasocket) - Networking extension which provides a socket API for TCP and UDP, and implements HTTP, FTP, and SMTP.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-websockets[0m[38;5;12m (https://github.com/lipp/lua-websockets) - WebSocket client and server modules. Webserver-agnostic, implemented in Lua on top of LuaSocket.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-cURLv3[0m[38;5;12m (https://github.com/Lua-cURL/Lua-cURLv3) - Lua binding to libcurl.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-http[0m[38;5;12m (https://github.com/daurnimator/lua-http) - Asynchronous HTTP and WebSocket library with client and server APIs, TLS, and HTTP/2; based on cqueues.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mData Stores[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaSQL[0m[38;5;12m (http://keplerproject.github.io/luasql/) - Simple interface for connecting to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mpgmoon[0m[38;5;12m (https://github.com/leafo/pgmoon) - Lua PostgreSQL driver for OpenResty, LuaSocket, and cqueues.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-resty-mysql[0m[38;5;12m (https://github.com/openresty/lua-resty-mysql) - Lua MySQL driver for OpenResty.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-resty-cassandra[0m[38;5;12m (https://github.com/jbochi/lua-resty-cassandra) - Lua Cassandra client driver for OpenResty and others.[39m
|
||
[38;5;12m- Redis[39m
|
||
[38;5;12m - [39m[38;5;14m[1mredis-lua[0m[38;5;12m (https://github.com/nrk/redis-lua) - Pure Lua client library for Redis.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlua-resty-redis[0m[38;5;12m (https://github.com/openresty/lua-resty-redis) - Lua Redis client driver for OpenResty.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mlredis[0m[38;5;12m (https://github.com/daurnimator/lredis) - Asynchronous Redis client with pipelining and Pub/Sub support; based on cqueues.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mMessage Brokers[0m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-zmq[0m[38;5;12m (https://github.com/Neopallium/lua-zmq) - Lua bindings to ZeroMQ.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlzmq[0m[38;5;12m (https://github.com/zeromq/lzmq) - A newer Lua binding to ZeroMQ.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-resty-kafka[0m[38;5;12m (https://github.com/doujiang24/lua-resty-kafka) - Kafka client driver based on OpenResty cosockets.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-resty-rabbitmqstomp[0m[38;5;12m (https://github.com/wingify/lua-resty-rabbitmqstomp) - RabbitMQ client library based on OpenResty cosockets.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mTesting[0m
|
||
[38;5;12m- [39m[38;5;14m[1mbusted[0m[38;5;12m (http://olivinelabs.com/busted/) - BDD-style unit testing framework with great docs and Moonscript support.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mtelescope[0m[38;5;12m (https://github.com/norman/telescope) - Flexible and highly customizable testing library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluassert[0m[38;5;12m (https://github.com/Olivine-Labs/luassert) - Assertion library extending Lua's built-in assertions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlust[0m[38;5;12m (https://github.com/bjornbytes/lust) - Minimal test framework.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mForeign Function Interfaces[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaJIT FFI[0m[38;5;12m (http://luajit.org/ext_ffi.html) - LuaJIT's mechanism for calling external C functions and using C data structures from pure Lua code.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluaffi[0m[38;5;12m (https://github.com/jmckaskill/luaffi) - Standalone FFI library, compatible with the LuaJIT FFI interface.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mAnalysis Tools and ASTs[0m
|
||
[38;5;12m- [39m[38;5;14m[1mluadec51[0m[38;5;12m (https://github.com/sztupy/luadec51) - Lua Decompiler for Lua version 5.1.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluacov[0m[38;5;12m (http://keplerproject.github.io/luacov/) - Simple coverage analyzer, used by busted and telescope for checking test coverage.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mluacov-coveralls[0m[38;5;12m (https://github.com/moteus/luacov-coveralls) - LuaCov reporter for coveralls.io.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluacheck[0m[38;5;12m (https://github.com/mpeterv/luacheck) - Simple static analyzer which detects accidental globals and undefined or shadowed locals.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMetalua[0m[38;5;12m (https://github.com/fab13n/metalua) - Pure Lua parser and compiler, used for generating ASTs. A number of other tools make use of the Metalua parser in this way.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaInspect[0m[38;5;12m (https://github.com/davidm/lua-inspect) - Lua's most powerful code analysis and linting tool, built on Metalua. Used by ZeroBraneStudio, among others.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLuaMinify[0m[38;5;12m (https://github.com/stravant/LuaMinify) - Minifier which also brings its own static analysis tools, lexer, and parser.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTyped Lua[0m[38;5;12m (https://github.com/andremm/typedlua) - A typed superset of Lua that compiles to plain Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-parser[0m[38;5;12m (https://github.com/andremm/lua-parser) - A Lua 5.3 parser written using LPegLabel, with improved error messages.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mExperimental, etc[0m
|
||
[38;5;12m- [39m[38;5;14m[1mpunchdrunk.js[0m[38;5;12m (https://github.com/TannerRogalsky/punchdrunk) - Moonshine + LÖVE API reimplementation = run LÖVE games in the browser.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mluvit[0m[38;5;12m (https://github.com/luvit/luvit) - Node.js's underlying architecture (libUV) with Lua on top instead of JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mgraphql-lua[0m[38;5;12m (https://github.com/bjornbytes/graphql-lua) - Lua implementation of [39m[38;5;14m[1mGraphQL[0m[38;5;12m (http://graphql.org/).[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mScriptable by Lua[0m
|
||
[38;5;12m- [39m[38;5;14m[1mluakit[0m[38;5;12m (https://luakit.github.io/luakit/) - Fast, small, webkit based browser framework extensible by Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHammerspoon[0m[38;5;12m (http://www.hammerspoon.org) - A powerful, extensible OS X automation tool. A community-maintained fork of [39m[38;5;14m[1mMjolnir[0m[38;5;12m (http://www.mjolnir.io/).[39m
|
||
[38;5;12m- [39m[38;5;14m[1mkpie[0m[38;5;12m (https://github.com/skx/kpie) - A scripting utility to juggle windows.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlumail[0m[38;5;12m (https://lumail.org/) - A console-based mail client, with extensive scripting capabilities.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAwesomeWM[0m[38;5;12m (https://awesomewm.org/) - A highly configurable and extensible window manager for X, scripted and configured by Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTextadept[0m[38;5;12m (https://foicica.com/textadept/) - Extremely lightweight, customizable, cross-platform editor, written (mostly) in (and scripted by) Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mKoReader[0m[38;5;12m (https://github.com/koreader/koreader) - An ebook reader application supports PDF, DJVU, EPUB, FB2 and much more, running on Kindle, Kobo, PocketBook and Android devices.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mMiscellaneous[0m
|
||
[38;5;12m- [39m[38;5;14m[1mMoonScript[0m[38;5;12m (http://moonscript.org/) - 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'.[39m
|
||
[38;5;12m- [39m[38;5;14m[1msitegen[0m[38;5;12m (http://leafo.net/sitegen/) - A static site generator which uses MoonScript and supports HTML and Markdown, page grouping, and plugins.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mResources[0m
|
||
|
||
[38;2;255;187;0m[4mCommunity[0m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-l[0m[38;5;12m (http://www.lua.org/lua-l.html) - The official Lua mailing list, and one of the focal points of the Lua community.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua.Space[0m[38;5;12m (http://lua.space/) - The Lua community blog.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Users Foundation[0m[38;5;12m (https://github.com/lua-users-foundation) - An association of individuals with the mission of supporting and promoting Lua and its community and ecosystems.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-users.org[0m[38;5;12m (http://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.[39m
|
||
[38;5;12m- Conferences/Meetups[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLua Workshop[0m[38;5;12m (https://www.lua.org/community.html#workshop) - Annual 2-day meeting of the Lua community, in rotating locations.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLua Conf[0m[38;5;12m (http://luaconf.com/) - Annual 1-day Lua conference in Brazil.[39m
|
||
[38;5;12m - [39m[38;5;14m[1mFOSDEM[0m[38;5;12m (https://fosdem.org/) - Annual 2-day gathering of F/OSS developers in Brussels which sometimes has a "Lua devroom".[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mReferences[0m
|
||
[38;5;12m- [39m[38;5;14m[1mReference Manual[0m[38;5;12m (http://www.lua.org/manual/5.3/) - The official definition of the Lua language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-users wiki[0m[38;5;12m (http://lua-users.org/wiki/) - A large community-maintained collection of Lua information and resources, supplementing the official website.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Unofficial FAQ[0m[38;5;12m (http://www.luafaq.org/) - Answers all sorts of Lua-related questions, including many of the form 'How to ___?'.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mGlossaries[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLua 5.3 Glossary[0m[38;5;12m (https://rawgit.com/dlaurie/lua-notes/master/glossary.html) - A glossary of some essential Lua terms.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mStyle Guides[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLua-users style guide[0m[38;5;12m (http://lua-users.org/wiki/LuaStyleGuide) - A general, high-level style guide; unopinionated, easily agreed on.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mOlivine style guide[0m[38;5;12m (https://github.com/Olivine-Labs/lua-style-guide) - A more opinionated and specific, and therefore more rigorous, guide.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mTutorials[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Crash Course[0m[38;5;12m (http://www.coppeliarobotics.com/helpFiles/en/luaCrashCourse.htm) - Short crash course readover, or reference for when you forget the basics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearn Lua in 15 Minutes[0m[38;5;12m (http://tylerneylon.com/a/learn-lua/) - A well-commented example file which covers the basics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearning Lua from JS[0m[38;5;12m (http://phrogz.net/lua/LearningLua_FromJS.html) - An overview of the similarities and differences between Lua and JS; a great start for JavaScript folks looking to pick up Lua.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mlua-users tutorial[0m[38;5;12m (http://lua-users.org/wiki/LuaTutorial) - In-depth collection of tutorials aimed at newcomers.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Missions[0m[38;5;12m (https://github.com/kikito/lua_missions) - A series of 'Missions' to work through which are designed to teach aspects of Lua along the way.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCreating an Image Server[0m[38;5;12m (http://leafo.net/posts/creating_an_image_server.html) - Walks through setting up and using OpenResty to build a simple image processing server; a great starting point for playing with OpenResty.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mArticles[0m
|
||
[38;5;12m- [39m[38;5;14m[1mEmbedding Lua in C[0m[38;5;12m (https://debian-administration.org/article/264/Embedding_a_scripting_language_inside_your_C/C_code) - An introductory walkthrough of embedding Lua in a C program. A bit dated, but still a great walkthrough.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mLua:[0m[38;5;14m[1m [0m[38;5;14m[1mGood,[0m[38;5;14m[1m [0m[38;5;14m[1mbad,[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mugly[0m[38;5;14m[1m [0m[38;5;14m[1mparts[0m[38;5;12m [39m[38;5;12m(http://notebook.kulchenko.com/programming/lua-good-different-bad-and-ugly-parts)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mthorough[39m[38;5;12m [39m[38;5;12msummary[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mgood,[39m[38;5;12m [39m[38;5;12mdifferent,[39m[38;5;12m [39m[38;5;12mbad,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mugly[39m[38;5;12m [39m[38;5;12maspects[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mLua,[39m[38;5;12m [39m[38;5;12mincluding[39m[38;5;12m [39m[38;5;12mmany[39m[38;5;12m [39m[38;5;12msubtle[39m[38;5;12m [39m[38;5;12mquirks,[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mauthor[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m
|
||
[38;5;12mZeroBraneStudio.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua states, libraries, coroutines and memory[0m[38;5;12m (http://www.thijsschreijer.nl/blog/?p=693) - Diagrams and explains some more advanced concepts of the Lua VM, particularly when interfacing with C.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mTalks & Slides[0m
|
||
[38;5;12m- [39m[38;5;14m[1mRoberto's Talks[0m[38;5;12m (http://www.inf.puc-rio.br/~roberto/talks/index.html) - History of talks given by Lua's chief architect, with slides for each.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Workshop Talks[0m[38;5;12m (http://www.lua.org/wshop14.html#abstracts) - High-quality talks are given at each ~annual Lua Workshop, and a history of them is online, slides included.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mBooks[0m
|
||
[38;5;12m- [39m[38;5;14m[1mProgramming in Lua[0m[38;5;12m (http://www.lua.org/pil/) - The authoritative intro to all aspects of Lua programming, written by Lua's chief architect. Three editions released; first edition available online.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Quick Reference[0m[38;5;12m (https://foicica.com/lua/) - A quick reference on how to program in and embed Lua 5.1 through 5.3, by the creator of Textadept.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mProgramming Gems[0m[38;5;12m (http://www.lua.org/gems/) - A collection of articles covering existing wisdom and practices on programming well in Lua, in a broad variety of use cases.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLua Programming[0m[38;5;12m (https://en.wikibooks.org/wiki/Lua_Programming) - A shorter overview of the language, up to date for Lua 5.2, and available online.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mOther Lists[0m
|
||
[38;5;12m- [39m[38;5;14m[1mawesome-resty[0m[38;5;12m (https://github.com/bungle/awesome-resty) - A list like this one, but focused on OpenResty.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mawesome-love2d[0m[38;5;12m (https://github.com/love2d-community/awesome-love2d) - A list like this one, but focused on game dev and the LÖVE platform.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWhere Lua is Used[0m[38;5;12m (https://sites.google.com/site/marbux/home/where-lua-is-used) - A comprehensive list of stand-alone programs written in or extensible using Lua.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mContribute[0m
|
||
|
||
[38;5;12mContributions welcome and wanted! Read the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (contributing.md) first.[39m
|
||
|
||
[38;2;255;187;0m[4mLicense[0m
|
||
|
||
[38;5;14m[1m![0m[38;5;12mCC0[39m[38;5;14m[1m (https://licensebuttons.net/p/zero/1.0/88x31.png)[0m[38;5;12m (https://creativecommons.org/publicdomain/zero/1.0/)[39m
|
||
|
||
[38;5;12mTo the extent possible under law, Lewis Ellis has waived all copyright and related or neighboring rights to this work.[39m
|
||
|
||
[38;5;12mlua Github: https://github.com/LewisJEllis/awesome-lua[39m
|