一个基于 lupa 模块的轻量级扩展库,提供了便捷的 Lua 模块加载与管理功能。
Project description
from mlua.mlua import MLuaManagerfrom mlua.mlua.envs import MLuaPackager
MLua 使用指南
概述
一个基于 lupa 模块的轻量级扩展库,提供了便捷的 Lua 环境管理和模块加载功能。
快速开始
1. 创建 Lua 环境
from mlua import MLuaEnvironment
# 创建 Lua 运行时环境
lua_env = MLuaEnvironment()
2. 加载 Lua 模块
from mlua import MLuaModule, MLuaInstaller
# 加载单个 Lua 模块
module = MLuaModule("path/to/module.lua")
# 挂载模块到环境,指定secure=True以选择安全模式,默认选择
mlua_obj = module.mount(lua_env: MLuaEnvironment, [secure = True])
# 加载模块及其依赖
mlua_objects = module.mount_deeply(lua_env: MLuaEnvironment, [secure = True])
# 加载多个 Lua 模块,返回一个mlua_objects列表
installer = MLuaInstaller(module1: MLuaModule, module2: MLuaModule, ...)
mlua_objects = installer.mount_all(lua_env: MLuaEnvironment, [secure = True])
3. 使用模块功能
# 调用模块函数
results = mlua_obj.functions.some_function()
# 访问模块值
value = mlua_obj.values.some_variable
4. 处理模块依赖
from mlua import MLuaResolver
# 解析模块依赖
modules_to_load = MLuaResolver.requirements(module1: MLuaModule, module2: MLuaModule, ...)
# 打印依赖关系
MLuaResolver.relationship(module1: MLuaModule, module2: MLuaModule, ...)
5.日志
from mlua import MLuaLogsPrinter
# 打印信息日志
MLuaLogsPrinter.info("Hello, world!")
# 打印警告日志
MLuaLogsPrinter.warn("Something might be wrong!")
# 打印错误日志
MLuaLogsPrinter.error("Something went wrong!")
6.打包
# 打包模块,返回字节串
results_bytes = MLuaPackager.pack(module1: MLuaModule, module2: MLuaModule, ...)
# 解包模块,返回模块列表
results_modules = MLuaPackager.unpack(data_bytes: bytes)
7.保存至文件
# 保存模块至文件,默认仓库目录为./mlua_modules
MLuaManager.save(module1: MLuaModule, module2: MLuaModule, ..., [directory = "./mlua_modules"])
# 加载模块文件,返回模块列表
results_modules = MLuaManager.load([directory = "./mlua_modules"])
# 直接使用指定模块
results_modules = MLuaManager.use("module1", "module2", ..., [directory = "./mlua_modules"])
校验状态
from mlua import status
status()
注意事项
- 建议始终使用安全模式挂载模块
- 模块依赖关系应避免循环依赖
- 模块文件路径应为绝对路径或相对于工作目录的有效路径
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mlua-1.0.2.tar.gz
(9.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
mlua-1.0.2-py3-none-any.whl
(10.9 kB
view details)
File details
Details for the file mlua-1.0.2.tar.gz.
File metadata
- Download URL: mlua-1.0.2.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f550868c448c724f55f0a63dd9c9e5f9c6fc333b2fb34644ecaf3a3f7445738
|
|
| MD5 |
1187f69acb2ee2bb73e8bd650bcb089e
|
|
| BLAKE2b-256 |
6d015cc371e47d459aaaf40bc5e6fac3a749b36beb9ed809bd99731a950a2dab
|
File details
Details for the file mlua-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mlua-1.0.2-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9a0623e5f31b1fea3a53eed6e76fd89b4e92c35660554a07bd3287da8a7221e
|
|
| MD5 |
80373a7c48984a0c474406fe2a2e99c8
|
|
| BLAKE2b-256 |
89030008116e94e31e77ea9d7fd549a3679fd42129164d3c76d402b1c6e894d7
|