code: def main():
      parser = argparse.ArgumentParser(
          description="SALib - Sensitivity Analysis Library"
      )
      subparsers = parser.add_subparsers(
          help="Sample or Analysis method", dest="action"
      )
      sample_parser = subparsers.add_parser(
          "sample", description="Select one of the sample methods"
      )
      analyze_parser = subparsers.add_parser("analyze")
  
      # Get list of available samplers and analyzers
      samplers = avail_approaches(sample)
      analyzers = avail_approaches(analyze)
      sample_parser.add_argument("method", choices=samplers)
      analyze_parser.add_argument("method", choices=analyzers)
  
      known_args, opts = parser.parse_known_args()
  
      action = known_args.action
      if not action:
          parser.print_help()
          exit()
  
      method_name = known_args.method
      common_args = importlib.import_module(
          ".".join(["SALib", action, "common_args"])
      )
      module = importlib.import_module(
          ".".join(["SALib", action, method_name])
      )
  
      if len(opts) == 0:
          cmd_parse = common_args.create(module.cli_parse)
          cmd_parse.print_help()
          exit()
  
      common_args.run_cli(module.cli_parse, module.cli_action, opts)
  
imports: import importlib
  import argparse
  from SALib import analyze, sample
  from SALib.util import avail_approaches
label_desc: Use image node_id 2 for calling a global function with example usage: main() without return types