From b36b7712567c2fe648223658eb657fedf0296f8a Mon Sep 17 00:00:00 2001 From: Bob Yang Date: Mon, 24 Mar 2025 10:45:32 -0700 Subject: [PATCH] Component arg parsing for pipelines (#1023) Summary: To be ready to parse pipedef components Reviewed By: lgarg26 Differential Revision: D71295404 --- torchx/specs/builders.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/torchx/specs/builders.py b/torchx/specs/builders.py index ce7097d56..88e4b85f3 100644 --- a/torchx/specs/builders.py +++ b/torchx/specs/builders.py @@ -25,6 +25,17 @@ def _create_args_parser( config: Optional[Dict[str, Any]] = None, ) -> argparse.ArgumentParser: parameters = inspect.signature(cmpnt_fn).parameters + return _create_args_parser_from_parameters( + cmpnt_fn, parameters, cmpnt_defaults, config + ) + + +def _create_args_parser_from_parameters( + cmpnt_fn: Callable[..., Any], # pyre-ignore[2] + parameters: Mapping[str, inspect.Parameter], + cmpnt_defaults: Optional[Dict[str, str]] = None, + config: Optional[Dict[str, Any]] = None, +) -> argparse.ArgumentParser: function_desc, args_desc = get_fn_docstring(cmpnt_fn) script_parser = argparse.ArgumentParser( prog=f"torchx run {cmpnt_fn.__name__} ",