无界(Bncr)的python插件兼容层,为无界带来python支持
本项目是无界的附属增强,需要先安装无界本体,无界安装教程请看文末 相关链接 章节
- 项目启动
- 调用插件
1.1 在无界web插件市场内订阅https://github.com/randomshit699/Bncr_plugins这个插件源
1.2 安装/更新源中的python.ts 插件
1.3 重启无界docker restart bncr
docker exec -it bncr sh #进入无界容器内
apk update && apk upgrade #更新包管理器
apk add python3=3.11.14-r0 py3-pip #安装python和pip
exit #退出容器下载启动脚本 -> __init__.py
以下两个本体二选一
A.amd64架构cpu下载 -> python.cpython-311-x86_64-linux-musl.so
B.arm64架构cpu下载 -> python.cpython-311-aarch64-linux-musl.so
将启动脚本和本体保存到无界容器内同一个文件夹中(例如:/bncr/src)
将python_manual.ts插件下载至无界插件文件夹内
根据需要修改插件明文部分的设置
docker restart bncr
由于首次启动前需要pip install较多依赖,启动时间可能较长,当然你也可以在重启无界前在容器内自行安装
pip install -r requirements.txt --break-system-packages支持*.py|*.so插件
兼容层使用/bncr/BncrData/plugin/python作为插件目录,只有保存在此目录下的插件会被加载
文件名若为setup.py或者以双下划线__开头则不会被加载
*/configs和*/build目录下的文件不会被加载
仓库内的python/setup.py是使用cython一键编译插件目录以及子目录下所有*.py插件的脚本,原*.py会被重命名为__*.py
python/configs目录是用于借用无界的web插件设置页面的,所以不要在此目录下保存插件
python/*/build目录会在cython编译时临时生成,编译完成后会自动删除,所以不要在此目录下保存插件
编写插件时在IDE内可以使用类型提示,在插件中插入下面的代码即可
if TYPE_CHECKING:
from type.python import (
BncrDB,
BncrPluginConfig,
MethodClass,
Sender,
router,
sysMethod,
)类型提示文件 -> python/type/python.pyi
90%实现了无界在nodejs下的风格,语法可以参考无界项目官网,插件实例可以参考 python/__example.py与python/XJJ/__import_example.py
- sysMethod.isDevP() [现在总是返回 false]
- ADD
# @encrypt true可以自动编译 [现在需要手动使用setup.py编译]
- Adapter() [bncr]
我:https://t.me/Gdot0
无界项目官网:https://anmours.github.io/Bncr/#/
无界tg群:https://t.me/BncrJSChat
无界入门级教程:https://notes.dsdog.tk/archives/1716304583708