Kepler is a community of software developers building open software to help make Lua a viable option for development of web applications. Kepler was originally started by Fábrica Digital and PUC-Rio in 2004 but has had many other contributors since . While it initially was deployed as unified web platform, it has evolved into a collection of separate projects using a common set of standards. Our projects use LuaRocks for installing components and many use WSAPI as the server API.

Applications and Frameworks

app WSAPI - an API that abstracts the web host server from Lua web applications; the base for many projects.

app Xavante - a Lua Web server that offers a WSAPI interface.

app Orbit - an MVC web framework for Lua, based on WSAPI.

app Sputnik - a wiki/CMS developed over WSAPI on Kepler Project - for humor and entertainment

Nuts and Bolts

module Copas - a dispatcher based on coroutines that can be used by TCP/IP servers.

module Cosmo - a "safe templates" engine that protects your application from arbitrary code in the templates.

module Coxpcall - encapsulates Lua native pcall and xpcall with coroutine compatible ones.

module LuaFileSystem - a portable way to access the underlying directory structure and file attributes.

module Rings - a library which provides a way to create new Lua states from within Lua.

Development Tools

  • LuaRocks - a deployment and management system for Lua modules. Used by the other projects here.
  • LuaDoc - a documentation generator tool, convenient like for Lua source code
  • LuaProfiler - a time profiler for Lua
  • RemDebug - a remote debugger for Lua

Other projects:

  • CGILua - offers LuaPages and LuaScripts web page creation, based on WSAPI but no longer supported. Use Orbit, Sputnik or WSAPI instead.
  • LuaExpat - a SAX XML parser based on the Expat library
  • LuaLogging - a simple API to use logging features in Lua
  • LuaSQL - a simple interface from Lua to various DBMS
  • LuaZip - a library used to read files stored inside zip files
  • MD5/DES56 - MD5 and DES56 basic cryptographic facilities for Lua