bw2 / ConfigArgParse

A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables.
MIT License
719 stars 121 forks source link

Add option to ignore previous config files #255

Open mathisloevenich opened 2 years ago

mathisloevenich commented 2 years ago

If default_config_files is set to:

["/etc/conf/app_config.ini",
 "/etc/conf/conf-enabled/*.ini",
 "~/.my_app_config.ini",
 "./app_config.txt"]

It would be nice to be able to tell which one was used.

Something like: get_used_config_path()

Or let parse_args return the used config path if found

mathisloevenich commented 2 years ago

I recognized the following behaviour:

_/etc/conf/appconfig.ini

value = 1
ignore-value = 2

_./appconfig.txt

value = 100

parse_args() returns: Namespace(value=100, ignore_value=1)

But it would be nice to actually ignore previous variables and config files

What I want to get is: Namespace(value=100)

mathisloevenich commented 2 years ago

and then obviously it would be nice to know which one was used (if there are multiple config files found)

bw2 commented 2 years ago

The format_values() method reports where an arg came from. The ignore behavior is not something that many people would want AFAIK.