Hi all,

Lupa 0.13.1 was released to fix a major distribution bug in 0.13. Updating is recommended.

http://pypi.python.org/pypi/lupa/0.13.1

What is Lupa?
-------------

Lupa integrates the LuaJIT2 runtime into CPython. It is a partial rewrite of LunaticPython in Cython with some additional features such as proper coroutine support.

Why use it?
------------

It complements Python very well. Lua is a language as dynamic as Python, but LuaJIT compiles it to very fast machine code, sometimes faster than many other compiled languages. The language runtime is extremely small and carefully designed for embedding. The complete binary module of Lupa, including a statically linked LuaJIT2 runtime, is only some 500KB on a 64 bit machine.

However, Lua code is harder to write than Python code as the language lacks most of the batteries that Python includes. Writing large programs in Lua is rather futile, but it provides a perfect backup language when raw speed is more important than simplicity, and edit-compile-run cycles are too heavy for agile development.

Lupa is a very fast and thin wrapper around LuaJIT. It makes it easy to write dynamic Lua code that accompanies dynamic Python code by switching between the two languages at runtime, based on the tradeoff between simplicity and speed.

Recent Changes
---------------

0.13.1 (2010-08-30)

    * fix Cython generated C file using Cython 0.13

0.13 (2010-08-29)

    * fixed undefined behaviour on str(lua_object) when the object's
      __tostring() meta method fails
    * removed redundant "error:" prefix from LuaError messages
    * access to Python's python.builtins from Lua code
    * more generic wrapping rules for Python objects based on supported
      protocols (callable, getitem, getattr)
    * new helper functions as_attrgetter() and as_itemgetter() to specify
      the Python object protocol used by Lua indexing when wrapping Python
      objects in Python code
    * new helper functions python.as_attrgetter(), python.as_itemgetter()
      and python.as_function() to specify the Python object protocol used
      by Lua indexing of Python objects in Lua code
    * item and attribute access for Python objects from Lua code

0.12 (2010-08-16)

    * fix Lua stack leak during table iteration
    * fix lost Lua object reference after iteration

0.11 (2010-08-07)

    * error reporting on Lua syntax errors failed to clean up the stack so
      that errors could leak into the next Lua run
    * Lua error messages were not properly decoded
--
http://mail.python.org/mailman/listinfo/python-announce-list

       Support the Python Software Foundation:
       http://www.python.org/psf/donations/

Reply via email to