Maps yaml nodes and command line arguments to python function parameters.
Project description
configutator
Maps yaml nodes and command line arguments to python function parameters.
To install: pip install configutator Or:
git clone git@github.com:innovate-invent/configutator.git cd configutator python3 setup.py install
To use:
Create a main function with all the parameters you need, annotated with any defaults.
Use the @ConfigMap and @ArgMap decorators to modify the default mappings if needed.
In the if __name__ == "__main__": block at the bottom of the file call the loadConfig() function.
Here is an example of the most basic use:
from configutator import loadConfig from sys import argv def foo(param1, param2, param3=None): pass if __name__ == "__main__": for argmap in loadConfig(argv, (foo,)): foo(**argmap[foo])
One thing you need to keep in mind when working with configutator is that the config, command line arguments, and function parameters are all independant. The parameters given to @ConfigMap and @ArgMap are what connects them all. You should never have to change a function signature to modify the command line functionality.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for configutator-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b46f107455d33e7f4ba6b820b5f04651706826891d85f8db2038e31d3bdc294 |
|
MD5 | 8cfda4a02a193690fbc2b3d92c87c422 |
|
BLAKE2b-256 | c5aff45b1d050c870206b2b9abd6a3407da3d586be16f5a0e8faa09d8adbf59c |