Miniflask is a small research-oriented plugin-engine for python.
A long time ago in a galaxy full of plugin-engines ...
For a quick look into miniflask, just install it using
pip install miniflask
Module Definition
Let's start a new project first by creating a new directory:
> ls
main.py
modules/
module1/__init__.py
module2/__init__.py
module1/__init__.py
Let's define a simple module, modules/module1/__init__.py
:
def main(state, event):
print("main event called by module1")
def register(mf):
mf.register_event('main', main, unique=False)
Let's define another module, 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)
Our main.py looks like this:
import miniflask
# initialize miniflask
mf = miniflask.init(".modules")
mf.run()
Usage:
Now, we can use our program in the following ways:
> 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
- Fork it!
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
- See LICENSE for details.