You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Short flags/arguments (e.g. -u for --username) does not work with **kwargs
Example that works OK:
The following example works ok:
importfiredefcli(first_arg="left", second_arg="right"):
"""Prints the 2 arguments separated by bar Parameters ---------- first_arg : str the first arg second_arg : str the second arg """print(f"{first_arg} | {second_arg}" )
if__name__=='__main__':
fire.Fire(cli)
Help output
❯ python .\example.py -- --help
NAME
example.py - Prints the 2 arguments separated by bar
SYNOPSIS
example.py <flags>
DESCRIPTION
Prints the 2 arguments separated by bar
FLAGS
-f, --first_arg=FIRST_ARG
Default: 'left'
the first arg
-s, --second_arg=SECOND_ARG
Default: 'right'
the second arg
Usage with short flags
❯ python .\example.py -f="hello" -s="word"
hello | word
Example that does not work:
The following next example does not work with short flags, even when they are showing on the help output.
It is using **kwargs. It seems the short flags are going to the **kwargs dictionary.
importfiredefcli(first_arg="left", second_arg="right", **kwargs):
"""Prints the 2 arguments separated by bar Parameters ---------- first_arg : str the first arg second_arg : str the second arg kwargs : str additional args """print(f"{first_arg} | {second_arg}" )
print(kwargs)
if__name__=='__main__':
fire.Fire(cli)
Help output
❯ python .\example2.py -- --help
NAME
example2.py - Prints the 2 arguments separated by bar
SYNOPSIS
example2.py <flags>
DESCRIPTION
Prints the 2 arguments separated by bar
FLAGS
-f, --first_arg=FIRST_ARG
Default: 'left'
the first arg
-s, --second_arg=SECOND_ARG
Default: 'right'
the second arg
Additional flags are accepted.
additional args
Usage with short flags
❯ python .\example2.py -f="hello" -s="word"
left | right
{'f': 'hello', 's': 'word'}
In summary: the -f and -s arguments should be parsing to --first_arg and --second_arg but they are parsing to kwargs
The text was updated successfully, but these errors were encountered:
Diogo-Rossi
changed the title
[bug] short arguments does not work with **kwargs
[bug] short flags/arguments does not work with **kwargsMay 10, 2023
Description:
Short flags/arguments (e.g.
-u
for--username
) does not work with**kwargs
Example that works OK:
The following example works ok:
Help output
Usage with short flags
Example that does not work:
The following next example does not work with short flags, even when they are showing on the help output.
It is using
**kwargs
. It seems the short flags are going to the**kwargs
dictionary.Help output
Usage with short flags
In summary: the
-f
and-s
arguments should be parsing to--first_arg
and--second_arg
but they are parsing tokwargs
The text was updated successfully, but these errors were encountered: