Skip to content

Latest commit

 

History

History
45 lines (28 loc) · 1.05 KB

README.rst

File metadata and controls

45 lines (28 loc) · 1.05 KB

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))