Table of Contents
Dynamic Gooey (dygo
) ...
- Parses config files (json or yaml)
- Extracts values which have to be defined by the user
- Renders a GUI via Gooey
- Let the user insert the values for the dynamic parameters
- Inserts the received entries into the config
- Returns the config
pip install dygo
from dygo import render
my_cfg = render("path/to/jsonORyaml")
The dynamic key needs to be inserted as a dict into the config file. The following two examples do the exact same.
-
yaml
my_dynamic_param: dygo: 'dygo' dest: 'param1'
-
json
"my_dynamic_param": {"dygo": "dygo", "dest": "param1"},
The rendered GUI looks like this:
The dict will be replaced with the value received from the user. Assuming the user entered abc
for param1
, the dict afterwards looks like {"my_dynamic_param": "abc"}
.
Currently the key dygo
serves as a flag for Dynamic Gooey to detect dynamic parameters (the value is ignored). All other key-value pairs in the dygo
dict are treated as args for GooeyParser.add_argument
(see Gooey for further documentation). Most important is the dest
arg whose value will be displayed as a name of the parameter for the user.
Currently dygo
only descents into dicts, other iterables like lists are yet not supported. This means if a dygo
parameter has a list in its map path, it is ignored.
dygo
is distributed under the terms of the MIT license.