This is a list of libraries implemented in Lua or implemented in another language (e.g. C) but having a Lua interface. This page is part of LuaAddons--please read the instructions there before making changes to this list. For older libraries and bindings, see the LuaAddonsArchive. Modules can also be found on LuaForge.
Please don't mark an entry with an open-ended version (e.g. "5.x"), as it will likely be incorrect the moment a new Lua version is released.
GUI toolkits and graphics
- [wxLua] (5.1) - [wxWidgets] bindings for Lua 5.1. wxLua project provides its own IDE with a GUI debugger, a binding generator and a "wx" module for wxWidgets. The IDE is written in wxLua. wxWidgets provides native look-and-feel on Windows, Unix and Macintosh platforms wrapping the underlying toolkit (respectively win32 API, GTK+ 2.0 or Motif or X11, and Carbon API). Well-maintained.
- [IUP] (5.0, 5.1) - GUI toolkit for Windows and Motif with Lua 5 bindings. The IUP secondary libraries with additional controls need the [CD] graphics library and the [IM] Imaging library. All libraries are build using the [Tecmake] tool. All secondary libraries, CD and IM have bindings to Lua 5.
- [Doris] (5.0) - is an OpenGL and GLUI binding.
- [luaglut] (5.0/5.1) - OpenGL and GLUT bindings.
- [LuaGL] (5.0) - (Yet Another) OpenGL binding. No makefile or documentation yet.
- [LuaGApp] (5.0) - [GraphApp] binding for Lua.
- [GTK-server] (5.0/5.1) - GTK binding using the GTK-server. Can use GTK1.x, GTK2.x or XForms. Wrapper to make the interface more friendly is [here] - needs gtk-server 2.1.5.
- [FXLua] (5.0) - [Fox GUI toolkit] binding.
- [lua_qt] (5.1) - Qt bindings for Lua 5. Still on early stages (missing some objects, building process not fully tested), but quite usable.
- [lua-gtk] (5.1) - complete GTK2 bindings for Lua, still alpha but useable.
- LuaModuleLuaSdl (4.0, 5.0) - bindings of the Simple DirectMedia? Layer to Lua-4.0; patches for 5.0 See also [SDL].
- [IrrLua] (5.0/5.1) - [Irrlicht] bindings for Lua.
- [Lua-GD] (5.1) - a [GD Graphics Library] binding for Lua.
- [LuaGRAPH] (5.0, 5.1) - A library to create, manipulate, layout and render graphs. Based on the [GRAPHVIZ] library from AT&T.
- [ldislin] (5.1) - A Lua wrapper for the [DISLIN] plotting and widgets library from MPS.
- BlitzLua (5.1.2) - a Lua runtime environment written in BlitzMAX with access to many BlitzMAX/MaxGUI modules (including 2D and 3D graphics, sound and networking) (note: the link currently points into this wiki (which is usually a bad idea in this list) but this will change as soon as the package has its own web site)
- [Lua-Cairo] (5.1.2) - A [Cairo Graphics Library] binding for Lua. (There are similar works at http://luaforge.net/projects/luacairo/ and http://imago.functionalfuture.com/)
- [G&RT] (5.1) - A toolkit for geometry and rendering. Contains a module for a Lua binding of the [RenderMan Interface].
- [lua-imlib2] (5.1) - A binding to the imlib2 image manipulation library.
- [lgui] (5.1) - GTK+2 binding.
- [ldraw] (5.1) - Another Cairo Graphics library binding. Can be used alone or with with lgui.
Networking
- [LuaBER] (5.0) - ASN.1 BER.
- [LuaSocket] (5.0, 5.1) - a library for socket programming in Lua.
- [LuaSSL] (5.0) - Secure Socket Layer library for secure socket programming in Lua 5.0.
- [LuaSys] (5.1) - yet another system library for Lua. (Also contains: 1) sockets; 2) event notification mechanism; 3) win32 stuff: registry, event, service; 4) serial communication).
- [luaspread] (5.1) - a Lua interface to the Spread Group Communication System.
- [luadjbdns] (5.1) - a Lua interface to the djbdns and skadns DNS client libraries.
- [Copas] (5.0) - a dispatcher based on coroutines and LuaSocket? that can be used by request/response servers.
- [luaCURL] (5.0, 5.1) - luaCURL is a libCURL binding to Lua.
- [lua-httpd] - A simple networking binding and sample webserver implmented using it. (5.0)
- [dsas] (5.1) - A library to run Lua code at server side
- [LuaSNMP] (5.0, 5.1) - A library for Simple Network Management (SNMP) programming in Lua. Based on the net-snmp library.
- [LuaEvent] (5.1) - A binding to libevent, offers a coroutine dispatcher a-la Copas, will offer more later
XML and Web
- [cgi.lua] (5.0) - the bare minimum necessary to do CGI, or maybe a little less. Versions for Lua 4.0 and 5.0.
- [HTK] (5.0) - a library of Lua constructors for HTML elements.
- [CGILua] (5.0) - a tool for creating dynamic HTML pages and manipulating input data from forms using an Apache 2 module, Fast-CGI or traditional CGI.
- [LuaExpat] (5.0) - a Lua 5.0 expat binding.
- [LuaSOAP] (5.0) - a Lua 5.0 library to ease the use of SOAP.
- [LuaXMLRPC] (5.0) - a Lua 5.0 library to make remote procedure calls using XML-RPC.
- [Nanoki] (5.1) - a full-featured wiki and HTTP/1.1 engine.
- [Xavante] (5.0) - a Lua Web server (HTTP 1.1) that handles requests with Copas and uses CGILua 5.0 as the native template engine.
- [Lua HTML Tidy] (5.0) - a Lua 5.0 HTML Tidy binding.
- [LuaXML] (5.1) - a lean yet complete module for the direct mapping between XML data and Lua tables.
- [lua-xmlreader] (5.1) - An implementation of the
XmlReader API using libxml2.
Text processing
- [Gel] (5.0) Gel: [Gema] and Lua in a colloidal solution. Pattern matching over multiple lines, context sensitive matching and many other powerful mechanisms to transform text files.
- [lascii85] (5.0) - an ASCII85 library for Lua.
- [lrexlib] (5.1) - a POSIX and Perl (PCRE) regular expression library for Lua.
- [LPeg] (5.1) - a New Pattern-Matching Library for Lua. LpegRecipes
- [MixLua] (5.1) - an onload preprocessor for lua files and allow mixing of Lua code with other data
Database access
- [lgdbm] (5.0) - a gdbm binding for Lua 5.
- [LuaSQL] (5.0) - A generic Lua 5.0 interface to DBMS's (ODBC, Oracle, MySQL, SQLite, JDBC and PostgreSQL).
- [LuaBDB] (5.0) - Berkeley DB interface for Lua 5.
- [luacdb] (5.1) - a Lua interface to Dan Bernstein's cdb.
- [luatdb] (5.1) - a Lua interface to Andrew Tridgell's tdb.
- [LuaISIS] (5.0) - some CDS/ISIS features.
- [luasqlite] (5.0, 5.1) - a Lua interface to work with SQLite 2/3 databases.
- [LuaLDAP] (5.0) - A Lua 5.0 interface to the OpenLDAP library.
- [LuaCodeBase] (5.0.2) - a Lua interface to Sequiter's CodeBase?.
- [Lua-Sqlite3] (5.0) - Sqlite 3 for Lua. Two layer architecture, multiple interfaces, coroutines, iterators and much more.
- [Lua-wxSQLite3] (5.1) - A Lua interface to Ulrich Telle's wxSQLite3 library
- [lua-tinycdb] (5.1) - a Lua interface to Michael Tokarev's tinycdb.
Calling interfaces
Math
- [lbc] (5.0) - a big-number library for Lua.
- [ldecNumber] (5.1) - wrapper for IBM decNumber; implements General Decimal Arithmetic standard IEEE 754r. Full control over rounding modes and working precision.
- [lmapm] (5.0) - an arbitrary precision library that contains transcendental functions.
- [numeric lua] (5.1) - a numeric package for Lua with support for complex numbers, multidimensional matrices, random number generation, and special functions. Most of the routines are wrappers for the Netlib libraries.
- [LGMP] (5.1) - use the GNU multiple precision arithmetic library (GMP) from Lua.
Miscellaneous
- [stdlib] (5.1) - a collection of Lua modules for general programming. (Follow the CVS link to browse the source files. Project summary shows "0 commits" because the repository was imported from SourceForge.)
- [Coco] (5.1) - true C coroutines for Lua (yield from anywhere).
- [vxLuaGlue] - a [VxWorks] to Lua binding (glue layer) via the VxWorks symbol table.
- [Pluto] (5.0.2, 5.1) - heavy-duty persistence for Lua.
- [lalarm] (5.0) - an alarm library for Lua based on signal and SIGALRM.
- [lmd5] (5.0) - an MD5/SHA1 digest library for Lua.
- [md5] - a cryptographic library for Lua based on the MD5 message-digest algorithm.
- [lpack] (5.0) - a library for packing and unpacking binary data.
- [struct] (5.0) - another library for packing and unpacking binary data.
- [lpdf] (5.0) - a library for generating PDF files based on PDFlib.
- [lposix] (5.0) - a POSIX library for Lua.
- [ltokens] (5.0) - a library for lexical analysis of Lua code, based on the Lua lexer.
- [bitlib] (5.0/5.1) - a library for bitwise logical operations in Lua.
- [luabarcode] (5.0) - a barcode library for Lua (I2of5 barcodes).
- [LuaThread] (5.0) - Multi-threading support and library for Lua.
- [lzlib/lgzip] (5.1) - a Lua 5 interface to work with gzip files, based on liolib.c - uses zlib library.
- [LuaZip] (5.0) - a lightweight Lua extension library used to read files stored inside zip files.
- [LUSTI] (5.0) - Lua binding for Universal Search Tree Interface (more for learning Lua with C).
- [LuaLogging] (5.0) - A simple API to use logging features in Lua.
- [VEnv] (5.0) - Provides a way to execute a Lua function in a separate environment, protecting the original one.
- [luaunit] (5.0) - A unit testing framework for lua
- [lunit] (5.1) - Another unit testing framework for Lua with test runner plugin support
- [doctest] (5.1) - a testing module that strives to integrate documentation and testing by example. Idea from python-doctest.
- [Luazu] (5.0) - A binary module providing an interface to the Kudzu hardware detection library under Linux.
- [LuaMem] (5.0) - struct, array, call cfunction, file map.
- [LuaMHash] (5.0) - [mhash] library binding.
- [lua-iconv] (5.0/5.1) - bindings to the [iconv] library.
- [lua-crypt] (5.0) - An one-function library that provides the POSIX crypt() function for Lua
- [LuaFileSystem] (5.1) - a library developed to complement the set of functions related to file systems.
- [Compat-5.1] (5.0) - simulates the Lua 5.1 package model under Lua 5.0 so you can use 5.1 packages.
- [lcurses] (5.0) (link broken) - Curses (ncurses/pdcurses) terminal manipulation
- [lua-fs] (5.0) - A filesystem primitive extension library for Lua.
- [LuaBit] (5.0/5.1) - a bitwise operation lib totally written in Lua. The bitwise operations supported are: not, and, or, xor, right shift and left shift.
- [Lua-eSpeak] (5.1) - a binding to the [eSpeak] speech synthesis engine.
- [C/Invoke for Lua] (5.1) - Use [C/Invoke] from Lua to call C libraries (DLLs, .so files) directly, like Microsoft's P/Invoke and Python's ctypes.
- [LuaTask] (5.1) - Multiple concurrent, independent Lua threads with message passing. Efficient multithreading without the mutexes!
- [webnet77] (5.1) library for IP to country lookup
- [luainotify] (5.1) - a Lua interface to the Linux inotify subsystem.
FindPage · RecentChanges · preferences
edit · history
Last edited April 29, 2008 1:09 pm GMT (diff)