Running python script.py command
import fire
class Example:
def command(self, *, arg1: bool, arg2: bool = True, arg3: bool = False):
pass
if __name__ == '__main__':
fire.Fire(Example)
Prints
ERROR: Missing required flags: {'arg1'}
Usage: download.py command <flags>
optional flags: --arg1
required flags: --arg2 | --arg3
The "ERROR" message correctly points that arg1 is required, but the "Usage" message is swapping required and optional arguments.
Running python script.py command
Prints
The "ERROR" message correctly points that arg1 is required, but the "Usage" message is swapping required and optional arguments.