This is the code I'm running:
import fire
def test_duplicates(apples, paddles, oranges='10'):
print('There are {} apples'.format(apples))
print('There are {} paddles'.format(paddles))
print('There are {} oranges'.format(oranges))
if __name__ == '__main__':
fire.Fire(test_duplicates)
I am running python3 test.py 110 67 --apples=99 and producing the following result:
There are 99 apples
There are 110 paddles
There are 67 oranges
I see how Fire is evaluating the input, but if I'm not mistaken a positional and keyword argument collision should throw an error of some sort. I haven't looked under the hood yet but does this need a fix or am I using the command line wrong?