Configuration file loader for Python projects
Based on: https://github.com/dominictarr/rc
Read environment variables and config files and return them merged with predefined list of arguments.
- Arguments:
-
- appname: application name, used for config files and environemnt variable names.
- args: arguments from command line (optparse, docopt, etc).
- strip_dashes: strip dashes prefixing key names from args dict.
- Returns:
- dict containing the merged variables of environment variables, config files and args.
Environment variables are read if they start with appname in uppercase with underscore, for example:
TEST_VAR=1
Config files compatible with ConfigParser are read and the section name appname is read, example:
[appname] var=1
- Files are read from:
-
- /etc/appname/config
- /etc/appfilerc
- ~/.config/appname/config
- ~/.config/appname
- ~/.appname/config
- ~/.appnamerc
- .appnamerc
- file provided by config variable in args
Example usage with docopt:
args = rcfile(__name__, docopt(__doc__, version=__version__))
- TODO
- Python >= 2.6 or >= 3.3
MIT licensed. See the bundled LICENSE file for more details.