Lazy evaluation of CLI defaults
Currently, default values for CLI options are loaded when the CLI options are generated. This usually means that settings are loaded from env vars and config files, when the CLI module is imported for the first time.
This can be problematic in testing when you want to monkeypath the env in a fixture.
Testing would be easier if the CLI defaults would only be loaded when the CLI is invoked. This would make it a lot easier to change env vars or config files during the setup process of each test.