code: def main(argv):
      
      import argparse
      description = 'Uses Open Tree of Life web services to try to find a tree with the value property pair specified. ' \
                    'setting --fuzzy will allow fuzzy matching'
      parser = argparse.ArgumentParser(prog='ot-get-tree', description=description)
      parser.add_argument('arg_dict', type=json.loads, help='name(s) for which we will try to find OTT IDs')
      parser.add_argument('--property', default=None, type=str, required=False)
      parser.add_argument('--fuzzy', action='store_true', default=False,
                          required=False)  # exact matching and verbose not working atm...
      parser.add_argument('--verbose', action='store_true', default=False, required=False)
      try:
          args = parser.parse_args(argv)
          arg_dict = args.arg_dict
          exact = not args.fuzzy
          verbose = args.verbose
      except:
          arg_dict = {'ot:studyId': 'ot_308'}
          sys.stderr.write('Running a demonstration query with {}\n'.format(arg_dict))
          exact = True
          verbose = False
      print_matching_studies(arg_dict, exact=exact, verbose=verbose)
docs: This function sets up a command-line option parser and then calls print_matching_trees
      to do all of the real work.