MiniFlask
Miniflask is a small research-oriented plugin-engine for python.
A long time ago in a galaxy full of plugin-engines ...
Quick Start
For a quick look into miniflask, just install it using
pip install miniflask
Read the Documentation
Short Example
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
Contributing
- 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
License
- See LICENSE for details.
Release files for miniflask 5.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| miniflask-5.1.2.tar.gz | 43.0 kB | Details |
Release files / miniflask-5.1.2.tar.gz
| Download URL | miniflask-5.1.2.tar.gz |
|---|---|
| Size | 43.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55b5af32d9aef6617289987651e650219f051ff53a441262871f959a6d24016b
|
|
BLAKE2b-256 checksum How to use checksums |
5f560cbf2d457dea42a475d4864197a3694e9a64f7d4b67038b0dae93f5f9c8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.3
|