def main():
args = CLI.parse_args(__doc__)<EOL>if args['<STR_LIT>']:<EOL><INDENT>requests_log = logging.getLogger("<STR_LIT>")<EOL>requests_log.setLevel(logging.DEBUG)<EOL>logging.basicConfig(level=logging.DEBUG)<EOL><DEDENT>if not args['<STR_LIT>']:<EOL><INDENT>print("<STR_LIT>")<EOL>return ReturnValues.NO_APIKEY<EOL><DEDENT>if args['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>engine = PyPartsOctopart(args['<STR_LIT>'], verbose=args['<STR_LIT>'])<EOL><DEDENT>elif args['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>engine = PyPartsPartsIO(args['<STR_LIT>'], verbose=args['<STR_LIT>'])<EOL><DEDENT>else:<EOL><INDENT>engine = PyPartsBase(args['<STR_LIT>'], verbose=args['<STR_LIT>'])<EOL><DEDENT>try:<EOL><INDENT>if '<STR_LIT>' in args or '<STR_LIT>' in args:<EOL><INDENT>return engine.part_search(args['<STR_LIT>'])<EOL><DEDENT>elif '<STR_LIT>' in args:<EOL><INDENT>return engine.part_specs(args['<STR_LIT>'])<EOL><DEDENT>elif '<STR_LIT>' in args:<EOL><INDENT>if args['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>if args['<STR_LIT>']:<EOL><INDENT>return engine.part_datasheet(args['<STR_LIT>'], command=args['<STR_LIT>'], path=args['<STR_LIT>'])<EOL><DEDENT>else:<EOL><INDENT>return engine.part_datasheet(args['<STR_LIT>'], command=args['<STR_LIT>'])<EOL><DEDENT><DEDENT>elif args['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>return engine.part_datasheet(args['<STR_LIT>'], path=args['<STR_LIT>'])<EOL><DEDENT><DEDENT>elif '<STR_LIT>' in args:<EOL><INDENT>return engine.part_show(args['<STR_LIT>'], printout=args['<STR_LIT>'])<EOL><DEDENT><DEDENT>except OctopartException as err:<EOL><INDENT>print(err)<EOL>return ReturnValues.RUNTIME_ERROR<EOL><DEDENT>
entry point of the application.

Parses the CLI commands and runs the actions.