diff --git a/.github/scripts/find-unused-caches.py b/.github/scripts/find-unused-caches.py index cbd645ab..cbeeb836 100644 --- a/.github/scripts/find-unused-caches.py +++ b/.github/scripts/find-unused-caches.py @@ -80,7 +80,24 @@ def main(repository: str, token: str, age_days: float = 7, output_file: str = "u if __name__ == "__main__": - from jsonargparse import auto_cli, set_parsing_settings - - set_parsing_settings(parse_optionals_as_positionals=True) - auto_cli(main) + import logging + + logging.basicConfig(level=logging.INFO) + try: + from jsonargparse import auto_cli, set_parsing_settings + + set_parsing_settings(parse_optionals_as_positionals=True) + auto_cli(main) + except ImportError: + import sys + + logging.warning( + "Expected `jsonargparse` is not installed," + " using the native `sys.argv` parser with positional arguments only." + " Please install `pip install lightning_utilities[cli]` for better CLI experience." + ) + cli_args = sys.argv[1:] + if len(cli_args) < 3: + logging.error("Expected at least 3 positional arguments: []") + sys.exit(1) + main(*cli_args) diff --git a/scripts/adjust-torch-versions.py b/scripts/adjust-torch-versions.py index b590cc68..d8a542f5 100644 --- a/scripts/adjust-torch-versions.py +++ b/scripts/adjust-torch-versions.py @@ -206,4 +206,14 @@ def main(requirements_path: str, torch_version: Optional[str] = None) -> None: set_parsing_settings(parse_optionals_as_positionals=True) auto_cli(main) except (ModuleNotFoundError, ImportError): - main(*sys.argv[1:]) + logging.warning( + "Expected `jsonargparse` is not installed," + " using the native `sys.argv` parser with positional arguments only." + " Please install `pip install lightning_utilities[cli]` for better CLI experience." + ) + cli_args = sys.argv[1:] + if len(cli_args) < 1: + logging.error("Expected at least 1 positional argument: []") + sys.exit(1) + # Use sys.argv directly if jsonargparse is not available + main(*cli_args) diff --git a/scripts/inject-selector-script.py b/scripts/inject-selector-script.py index c2ec07c0..f6c203cf 100644 --- a/scripts/inject-selector-script.py +++ b/scripts/inject-selector-script.py @@ -44,4 +44,14 @@ def main(folder: str, selector_name: str) -> None: set_parsing_settings(parse_optionals_as_positionals=True) auto_cli(main) except (ModuleNotFoundError, ImportError): - main(*sys.argv[1:]) + logging.warning( + "Expected `jsonargparse` is not installed," + " using the native `sys.argv` parser with positional arguments only." + " Please install `pip install lightning_utilities[cli]` for better CLI experience." + ) + cli_args = sys.argv[1:] + if len(cli_args) < 2: + logging.error("Expected at least 2 positional arguments: ") + sys.exit(1) + # Use sys.argv directly if jsonargparse is not available + main(*cli_args)