Skip to main content

面向研究的小型基于钩子的插件引擎。

项目描述

迷你烧瓶

python-3 徽章 python-3 徽章 CI 构建状态

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

贡献

  1. 叉吧!
  2. 创建您的功能分支 ( git checkout -b feature/fooBar)
  3. 提交您的更改 ( git commit -am 'Add some fooBar')
  4. 推送到分支 ( git push origin feature/fooBar)
  5. 创建一个新的拉取请求

执照

执照:麻省理工学院- 有关详细信息,请参阅许可证

项目详情