[Python-ideas] argparse - add support for environment variables (a proposal)

Neal Becker ndbecker2 at gmail.com
Wed Mar 27 16:47:45 CET 2013


Here's an idea.  We have 4 main sources of config:

1. app defaults
2. config file
3. env var
4. command line 

Instead of adding anything to the code for each of these parsers, suppose that 
each of them accepted a dictionary of options in a common form, so that they 
could be composed easily.

For example, suppose we call config file parser 1st, and it returns a dict of 
what items are
set in the config file (not the defaults).  Then argparse is called (without 
using and defaults), passing it that dictionary, which it can add to or overide.  
Finally, options not in the dict get defaults applied.

Having not dug into technical details, I'm imagining that either arparse already 
can accept a dict or options, or could be easily modified to. Or, we simply call 
argparse normally, then take it's dict and we merge the dicts outside of 
arparse.




More information about the Python-ideas mailing list