AsyncLupa

A async wrapper for Lupa


License
MIT
Install
pip install AsyncLupa==1.1

Documentation

AsyncLupa

AsyncLupa integrates with the well known Lupa library, providing an asynchronous wrapper allowing async function / method calls right from Lua.

Installation

pip install AsyncLupa

If you want the latest version that has not yet been released

pip install git+https://github.com/SoulSen/AsyncLupa

Calling Async functions in Lua

AsyncLupa support all Lupa's methods that execute Lua code in any way. It includes AsyncLupa.execute, AsyncLupa.eval, and AsyncLupa.compile, it also supports all the other methods also.

An example is shown below

from asynclupa import AsyncLuaRuntime
import asyncio

async def hello():
    return 1

async def main():
    async_lua = AsyncLuaRuntime()
    async_lua.globals()['hello'] = hello

    ret = await async_lua.eval('return python.coroutine(hello())')
    print(ret)  # Outputs 1

asyncio.run(eval_lua(lua_code))