-
-
Notifications
You must be signed in to change notification settings - Fork 62
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
In the following example
from dataclasses import dataclass
from typing import Optional
from jsonargparse import ArgumentParser
@dataclass
class Config:
a: int
b: float = 2.0
if __name__ == "__main__":
parser = ArgumentParser()
parser.add_argument("--config", type=Optional[Config], default=None, required=False)
print(parser.parse_args())the help message looks like this:
$ python main.py --help
usage: main.py [-h] [--config CONFIG]
options:
-h, --help Show this help message and exit.
--config CONFIG (type: Optional[Config], default: null)I haven't figured out a way but is there a way to show the dataclasses arguments in the help message (even when the dataclass is optional) and mark the group as optional?
$ python main.py --help
usage: main.py [-h] [--config CONFIG] --config.a A [--config.b B]
options:
-h, --help Show this help message and exit.
Config docstring (optional):
--config CONFIG Path to a configuration file.
--config.a A (required, type: int)
--config.b B (type: float, default: 2.0)The goal is to give the user more clues about what's expected but still yield Namespace(config=None) when nothing is passed from the CLI.
Thank you for your help!
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request