Lupa

Latest version: v2.2

Safety actively analyzes 683530 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

2.2

----------------

* A new method ``LuaRuntime.gccollect()`` was added to trigger the Lua garbage collector.

* A new context manager ``LuaRuntime.nogc()`` was added to temporarily disable the Lua
garbage collector.

* Freeing Python objects from a thread while running Lua code could run into a deadlock.

* The bundled LuaJIT versions were updated to the latest git branches.

* Built with Cython 3.0.10.

2.1

----------------

* GH199: The ``table_from()`` method gained a new keyword argument ``recursive=False``.
If true, Python data structures will be recursively mapped to Lua tables,
taking care of loops and duplicates via identity de-duplication.

* GH248: The LuaRuntime methods "eval", "execute" and "compile" gained new
keyword options ``mode`` and ``name`` that allow constraining the input type
and modifying the (chunk) name shown in error messages, following similar
arguments in the Lua ``load()`` function.
See https://www.lua.org/manual/5.4/manual.html#pdf-load

* GH246: Loading Lua modules did not work for the version specific Lua modules
introduced in Lupa 2.0. It turned out that it can only be enabled for
one of them in a given Python run, so it is now left to users to enable it
explicitly at need.
(original patch by Richard Connon)

* GH234: The bundled Lua 5.1 was updated to 5.1.5 and Lua 5.2 to 5.2.4.
(patch by xxyzz)

* The bundled Lua 5.4 was updated to 5.4.6.

* The bundled LuaJIT versions were updated to the latest git branches.

* Built with Cython 3.0.9 for improved support of Python 3.12/13.

2.0

----------------

* GH217: Lua stack traces in Python exception messages are now reversed to
match the order of Python stack traces.

* GH196: Lupa now ships separate extension modules built with Lua 5.3,
Lua 5.4, LuaJIT 2.0 and LuaJIT 2.1 beta. Note that this is build specific
and may depend on the platform. A normal Python import cascade can be used.

* GH211: A new option `max_memory` allows to limit the memory usage of Lua code.
(patch by Leo Developer)

* GH171: Python references in Lua are now more safely reference counted
to prevent garbage collection glitches.
(patch by Guilherme Dantas)

* GH146: Lua integers in Lua 5.3+ are converted from and to Python integers.
(patch by Guilherme Dantas)

* GH180: The ``python.enumerate()`` function now returns indices as integers
if supported by Lua.
(patch by Guilherme Dantas)

* GH178: The Lua integer limits can be read from the module as
``LUA_MAXINTEGER`` and ``LUA_MININTEGER``.
(patch by Guilherme Dantas)

* GH174: Failures while calling the ``__index`` method in Lua during a
table index lookup from Python could crash Python.
(patch by Guilherme Dantas)

* GH137: Passing ``None`` as a dict key into ``table_from()`` crashed.
(patch by Leo Developer)

* GH176: A new function ``python.args(*args, **kwargs)`` was added
to help with building Python argument tuples and keyword argument dicts
for Python function calls from Lua code.

* GH177: Tables that are not sequences raise ``IndexError`` when unpacking
them. Previously, non-sequential items were simply ignored.

* GH179: Resolve some C compiler warnings about signed/unsigned comparisons.
(patch by Guilherme Dantas)

* Built with Cython 0.29.34.

1.14.1

-------------------

* Rebuild with Cython 0.29.32 to support Python 3.11.

1.13

-----------------

* Bundled Lua source files were missing in the source distribution.

1.12

-----------------

* GH197: Some binary wheels in the last releases were not correctly linked with Lua.

* GH194: An absolute file path appeared in the ``SOURCES.txt`` metadata
of the source distribution.

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.