Handle unset and false variables the same way
Some variables set with a False value are handled as True because the test is only on existence. cf #1249
We cannot change this config like that. It will break already existing configs.
I understand.
My point is : when you set some boolean vars as False, they are processed as "if it is set, it must be True" which is really disturbing :-/ How would be the right way to ensure that False are processed as False ?
What do you think about the opposite default ? Something like this :
COLOR_LOG = os.environ.get("COLOR_LOG", 'False').lower() not in ('false', '0', 'f')
Can you give it a try and take a look ?