google / google/python-fire

--help doesn't work on functions with **kwargs and all default args

Open
#258 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
28.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

Consider the following example:

```
import fire

def test(a=1, b=1):
"""
Returns the sum of a and b.

:param a: The first parameter
:param b: The second parameter
"""
return a + b

fire.Fire(test)
```

If the file is called using `python ./myFile.py --help`, the help signature is printed as expected

However, if `**kwargs` is added to the signature of `test`, the return value of the function is printed instead. Is this expected behavior? It works if I run `python ./myFile.py -- --help`, but for someone using my application and not familiar with the 'fire' CLI, this is non-intuitive.

How do I need to modify `test` so that if someone calls `--help` on it, the help signature is printed?

Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.