Standard Lua libraries
by the stdlib project
This is a collection of Lua libraries for LuaJIT, Lua 5.1, 5.2 and 5.3. The libraries are copyright by their authors 2000-2015 (see the AUTHORS file for details), and released under the MIT license (the same license as Lua itself). There is no warranty.
Stdlib has no run-time prerequisites beyond a standard Lua system.
The simplest and best way to install stdlib is with LuaRocks. To install the latest release (recommended):
luarocks install stdlib
To install current git master (for testing, before submitting a bug report for example):
luarocks install http://raw.githubusercontent.com/lua-stdlib/lua-stdlib/master/stdlib-git-1.rockspec
The best way to install without LuaRocks is to download a github release tarball and follow the instructions in the included INSTALL file. Even if you are repackaging or redistributing stdlib, this is by far the most straight forward place to begin.
It is also possible to perform a complete bootstrap of the master development branch, although this branch is unstable, and sometimes breaks subtly, or does not build at all, or provides experimental new APIs that end up being removed prior to the next official release. Unfortunately, we don't have time to provide support for taking this most difficult and dangerous option. It is presumed that you already know enough to be aware of what you are getting yourself into - however, there are full logs of complete bootstrap builds in Travis after every commit, that you can examine if you get stuck. Also, the bootstrap script tries very hard to tell you why it is unhappy and, sometimes, even how to fix things before trying again.
As well as requiring individual libraries, you can load the standard set with
local std = require "std"
Modules not in the standard set may be removed from future versions of stdlib.
The latest release of these libraries is documented in LDoc. Pre-built HTML files are included in the release.
Bug reports and code contributions
These libraries are written and maintained by their users.
Please make bug reports and suggestions as GitHub Issues. Pull requests are especially appreciated.
But first, please check that your issue has not already been reported by someone else, and that it is not already fixed by master in preparation for the next release (see Installation section above for how to temporarily install master with LuaRocks).
There is no strict coding style, but please bear in mind the following points when proposing changes:
Follow existing code. There are a lot of useful patterns and avoided traps there.
2-character indentation using SPACES in Lua sources.