面向研究的小型基于钩子的插件引擎。
项目描述
迷你烧瓶
Miniflask 是一个小型的面向研究的python插件引擎。
很久以前,在一个充满插件引擎的星系中......
快速开始
要快速查看 miniflask,只需使用
pip install miniflask
阅读文档
简短的例子
模块定义
让我们首先通过创建一个新目录来启动一个新项目:
> ls
main.py
modules/
module1/__init__.py
module2/__init__.py
module1/__init__.py
让我们定义一个简单的模块,modules/module1/__init__.py
:
def main(state, event):
print("main event called by module1")
def register(mf):
mf.register_event('main', main, unique=False)
让我们定义另一个模块modules/module2/__init__.py
:
def main(state, event):
print("main event called by module2")
print("it uses a variable var:", state["var"])
def register(mf):
mf.register_defaults({
"var": 42
})
mf.register_event('main', main, unique=False)
我们的 main.py 看起来像这样:
import miniflask
# initialize miniflask
mf = miniflask.init(module_dirs="./modules")
mf.run()
用法:
现在,我们可以通过以下方式使用我们的程序:
> python main.py
There is nothing to do.
> python main.py module1
main event called by module1
> python main.py module2,module1
main event called by module2
it uses a variable var: 42
main event called by module1
> python main.py module2,module1 --module2.var 9001
main event called by module2
it uses a variable var: 9001
main event called by module1
贡献
- 叉吧!
- 创建您的功能分支 (
git checkout -b feature/fooBar
) - 提交您的更改 (
git commit -am 'Add some fooBar'
) - 推送到分支 (
git push origin feature/fooBar
) - 创建一个新的拉取请求
执照
- 有关详细信息,请参阅许可证。