google / google/python-fire

Unexpected Completion Behavior

Open
#148 5 comments 0 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 simple example (from the docs)

```
#!/usr/bin/env python

import fire

def add(x, y):
return x + y

if __name__ == '__main__':
fire.Fire(add, name='./add.py')
```

The first command completion shows `add` and the second immediately `--x --y`.

This is confusing, since I would expect to see `X` and after I entered the first number I would expect `Y` or or even `X Y` at the very beginning so I know I have to enter 2 numbers, especially since the Usage shows

```
Usage: ./add.py X Y
./add.py --x X --y Y
```

As far as I can see it is also not possible to distinguish mandatory from optional arguments. In the case above `X` and `Y`are mandatory and I would not expect to see `--x`and `--y`. An optional argument could e.g. be `--modulo`, which would have a default value if not used, but how to distinguish that in the Python code from the other arguments?

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.