def __init__(self, version: str = None, api_url: str = None) -> None:
bel_versions = bel_specification.get_bel_versions()<EOL>if not version:<EOL><INDENT>self.version = config["<STR_LIT>"]["<STR_LIT>"]["<STR_LIT>"]<EOL><DEDENT>else:<EOL><INDENT>self.version = version<EOL><DEDENT>if self.version not in bel_versions:<EOL><INDENT>log.warning(<EOL>f"<STR_LIT>"<EOL>)<EOL><DEDENT>if not api_url:<EOL><INDENT>self.api_url = config["<STR_LIT>"]["<STR_LIT>"]["<STR_LIT>"]<EOL><DEDENT>else:<EOL><INDENT>self.api_url = api_url<EOL><DEDENT>self.validation_messages = []<EOL>self.spec = bel_specification.get_specification(self.version)<EOL>try:<EOL><INDENT>parser_fn = self.spec["<STR_LIT>"]["<STR_LIT>"]<EOL>parser_name = os.path.basename(parser_fn).replace("<STR_LIT>", "<STR_LIT>")<EOL>module_spec = importlib.util.spec_from_file_location(parser_name, parser_fn)<EOL>imported_parser = importlib.util.module_from_spec(module_spec)<EOL>module_spec.loader.exec_module(imported_parser)<EOL>self.parser = imported_parser.BELParser()<EOL><DEDENT>except Exception as e:<EOL><INDENT>raise bel_ex.NoParserFound(f"<STR_LIT>")<EOL><DEDENT>
Initialize BEL object used for validating/processing/etc BEL statements

        Args:
            version (str): BEL Version, defaults to config['bel']['lang']['default_bel_version']
            api_url (str): BEL API endpoint,  defaults to config['bel_api']['servers']['api_url']