Skip to main content

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)

Source distribution for argconfig 0.0.1
File Size Uploaded
argconfig-0.0.1.tar.gz 2.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for argconfig 0.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page