google / google/python-fire

Misaligned help text with positional arguments and numpydoc

Open
#439 0 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

When using Numpydoc docstring style with multiple positional arguments the help text gets misaligned

```
import fire

def run(executable, argument):
"""Run.

Parameters
----------
executable :
Executable to run
argument :
Positional argument to the executable

"""
print("hello")

if __name__ == "__main__":
fire.Fire(run)
```

When run with `python test.py --help` this code produces

```
INFO: Showing help with the command 'test.py -- --help'.

NAME
test.py - Run.

SYNOPSIS
test.py EXECUTABLE ARGUMENT

DESCRIPTION
Run.

POSITIONAL ARGUMENTS
EXECUTABLE
Executable to run

Positional argument to the executable
ARGUMENT

NOTES
You can also use flags syntax for POSITIONAL ARGUMENTS
```

where the help text to `argument` gets added to `executable`.

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue with the provided test.py example and run `python test.py --help`. Trace the CLI help-generation path for Numpydoc positional arguments, then verify that each argument keeps its own description rather than merging into the preceding one.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.