Skip to main content

一个基于 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()

注意事项

  1. 建议始终使用安全模式挂载模块
  2. 模块依赖关系应避免循环依赖
  3. 模块文件路径应为绝对路径或相对于工作目录的有效路径

Project details


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlua-1.0.2-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

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

Hashes for mlua-1.0.2.tar.gz
Algorithm Hash digest
SHA256 9f550868c448c724f55f0a63dd9c9e5f9c6fc333b2fb34644ecaf3a3f7445738
MD5 1187f69acb2ee2bb73e8bd650bcb089e
BLAKE2b-256 6d015cc371e47d459aaaf40bc5e6fac3a749b36beb9ed809bd99731a950a2dab

See more details on using hashes here.

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

Hashes for mlua-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e9a0623e5f31b1fea3a53eed6e76fd89b4e92c35660554a07bd3287da8a7221e
MD5 80373a7c48984a0c474406fe2a2e99c8
BLAKE2b-256 89030008116e94e31e77ea9d7fd549a3679fd42129164d3c76d402b1c6e894d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page