Metadata-Version: 2.1
Name: argconfig
Version: 0.0.1
Summary: Argparse enhanced with a config file to overwrite code-based defaults
Home-page: https://github.com/patrick-c-odriscoll/argconfig
Author: Patrick C O'Driscoll
Author-email: patrick.c.odriscoll@gmail.com
License: MIT
Description: # 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
        ```
        
Keywords: CLI configuration arguments parsing
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Description-Content-Type: text/markdown
