argconfig
argparse + yaml config system
This takes the same format as the argparse.ArgumentParser class; however it adds the feature of setting a default yaml file for base configuration to override the default set in the code. Usage has the following overwrite priority:
command line > config file > default set in code
This enables a flexible configuration based, commandline interface options at scale.
Requirements
- Python 3.7+
- pyyaml
- argparse
Example
Config File
Use the example.yaml config file in the same directory as your example python code:
$ cat example.yaml
foo : test1
bar : 2.0
Example Code
The example python code setsup the variables foo and bar to equal 'testing' and 2.0 respectively. (Note the syntax is almost identical as argparse.ArgumentParser.)
import argconfig
parser = argconfig.ArgumentParser(description='argconfig example',config='./example.yaml')
parser.add_argument('-f','--foo', type=str, default='testing',
help='foo (default=testing, config=test)')
parser.add_argument('--bar',
help='bar (default=None, config = 2.0)')
args = parser.parse_args()
print('foo:',args.foo)
print('bar:',args.bar)
Example Command Line Usage
Run time of the example with foo and bar set by command line:
python example.py --foo test --bar 3.0
returns the following two print statements:
foo: test
bar: 3.0
While the values set in example.yaml is used when the values are not overriden by the command line:
python example.py
returns the following two print statements:
foo: test1
bar: 2.0
Metadata
Release files for argconfig 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| argconfig-0.0.1.tar.gz | 2.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| argconfig-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.9 kB
Release files / argconfig-0.0.1.tar.gz
| Download URL | argconfig-0.0.1.tar.gz |
|---|---|
| Size | 2.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd732c1217fa54d8f4657c0a9bafba2154f67e749307d97d7c50bf2f56c05d17
|
|
BLAKE2b-256 checksum How to use checksums |
86a0aaf395102bc815d934c1b918231a651b795a40074ae1c17ff7ed0724d380
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6
|
Release files / argconfig-0.0.1-py3-none-any.whl
| Download URL | argconfig-0.0.1-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16fcdab4d201a56553c2d44fecde20b3dc6fb69a76c3742fc7a311d303c83f6e
|
|
BLAKE2b-256 checksum How to use checksums |
26106ae89662d261274a380f827230af07442a59941a865412952384fffae261
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6
|