[docs]defmain():parser=argparse.ArgumentParser(description='Convert Binary to Parquet for various file types.',formatter_class=argparse.RawTextHelpFormatter)subparsers=parser.add_subparsers(dest='file_type',required=True,help='Type of file to convert')forfile_typeinSUPPORTED_BINTOPARQUET:parser_curr=subparsers.add_parser(file_type,help=f'bin to parquet tool for {file_type}')parser_curr.add_argument('-i','--file_in',default="-",type=str,help='Input file path')parser_curr.add_argument('-o','--file_out',default="-",type=str,help='Output file path')parser_curr.add_argument('-v','--logging-level',type=int,default=30,help='logging level (debug:10, info:20, warning:30, error:40, critical:50)')args=parser.parse_args()kwargs=vars(args)file_type=kwargs.pop('file_type')file_in=kwargs.pop('file_in')file_out=kwargs.pop('file_out')# Set up loggingch=logging.StreamHandler()formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')ch.setFormatter(formatter)logger.addHandler(ch)logging_level=kwargs.pop('logging_level')logger.setLevel(logging_level)bintoparquet(file_in,file_out,file_type,**kwargs)