search_query.pubmed package
Submodules
search_query.pubmed.constants module
Constants for PubMed.
- search_query.pubmed.constants.generic_field_to_syntax_field(generic_field: str) str
- Convert a set of generic search fields to a set of syntax strings. 
- search_query.pubmed.constants.map_to_standard(syntax_str: str) str
- Map a syntax string to a standard syntax string. 
- search_query.pubmed.constants.syntax_str_to_generic_field_set(field_value: str) set
- Translate a search field 
search_query.pubmed.linter module
Pubmed query linter.
- class search_query.pubmed.linter.PubmedQueryListLinter(parser: PubmedListParser, string_parser_class: Type[QueryStringParser], ignore_failing_linter: bool = False)
- Bases: - QueryListLinter- Linter for PubMed Query Strings - OPERATOR_NODE_REGEX = re.compile('#?\\d+|AND|OR|NOT')
 - last_read_index: Dict[int, int]
 - messages: dict
 - parser: PubmedListParser
 - validate_tokens() None
- Validate token list 
 
- class search_query.pubmed.linter.PubmedQueryStringLinter(query_str: str = '', *, original_str: str | None = None, silent: bool = False, ignore_failing_linter: bool = False)
- Bases: - QueryStringLinter- Linter for PubMed Query Strings - PROXIMITY_REGEX = re.compile('^\\[(.+):~(.*)\\]$')
 - VALID_TOKEN_SEQUENCES: Dict[TokenTypes, List[TokenTypes]] = {TokenTypes.FIELD: [TokenTypes.LOGIC_OPERATOR, TokenTypes.PARENTHESIS_CLOSED, TokenTypes.RANGE_OPERATOR], TokenTypes.LOGIC_OPERATOR: [TokenTypes.TERM, TokenTypes.PARENTHESIS_OPEN], TokenTypes.PARENTHESIS_CLOSED: [TokenTypes.LOGIC_OPERATOR, TokenTypes.PARENTHESIS_CLOSED], TokenTypes.PARENTHESIS_OPEN: [TokenTypes.TERM, TokenTypes.PARENTHESIS_OPEN], TokenTypes.RANGE_OPERATOR: [TokenTypes.TERM], TokenTypes.TERM: [TokenTypes.FIELD, TokenTypes.LOGIC_OPERATOR, TokenTypes.PARENTHESIS_CLOSED]}
 - VALID_fieldS_REGEX: re.Pattern
 - YEAR_VALUE_REGEX = re.compile('^"?(?P<year>\\d{4})(?P<month>\\/(0[1-9]|1[0-2]))?(?P<day>\\/(0[1-9]|[12]\\d|3[01]))?(\\:(?P<year2>(\\d{4})(?P<month2>\\/(0[1-9]|1[0-2]))?(?P<day2>\\/(0[1-9]|[12]\\d|3[01]))?))?"?$', re.VERBOSE)
 - add_artificial_parentheses_for_operator_precedence(index: int = 0, output: list | None = None) tuple[int, list[Token]]
- Adds artificial parentheses with position (-1, -1) to enforce PubMed operator precedence. 
 - check_implicit_fields() None
- Check the general search field 
 - check_invalid_proximity_operator() None
- Check search field for invalid proximity operator 
 - check_invalid_syntax() None
- Check for invalid syntax in the query string. 
 - check_invalid_token_sequences() None
- Check token list for invalid token sequences. 
 - check_unsupported_pubmed_fields() None
- Check for the correct format of fields. 
 - messages: List[dict]
 - syntax_str_to_generic_field_set(field_value: str) set
- Translate a search field 
 
search_query.pubmed.parser module
Pubmed query parser.
- class search_query.pubmed.parser.PubmedListParser(query_list: str, *, field_general: str = '', ignore_failing_linter: bool = False)
- Bases: - QueryListParser- Parser for Pubmed (list format) queries. 
- class search_query.pubmed.parser.PubmedParser(query_str: str, *, field_general: str = '', offset: dict | None = None, original_str: str | None = None, silent: bool = False, ignore_failing_linter: bool = False)
- Bases: - QueryStringParser- Parser for Pubmed queries. - FIELD_REGEX = re.compile('\\[[^\\[]*?\\]')
 - LOGIC_OPERATOR_REGEX = re.compile('(\\||&|\\b(?:AND|OR|NOT|:)\\b)(?!\\s?\\[[^\\[]*?\\])')
 - PARENTHESIS_REGEX = re.compile('[\\(\\)]')
 - PROXIMITY_REGEX = re.compile('^\\[(.+):~(.*)\\]$')
 - SEARCH_PHRASE_REGEX = re.compile('\\".*?\\"')
 - TERM_REGEX = re.compile('[^\\s\\[\\]()\\|&]+')
 - linter: QueryStringLinter
 - pattern = re.compile('\\[[^\\[]*?\\]|(\\||&|\\b(?:AND|OR|NOT|:)\\b)(?!\\s?\\[[^\\[]*?\\])|[\\(\\)]|\\".*?\\"|[^\\s\\[\\]()\\|&]+', re.IGNORECASE)
 - tokenize() None
- Tokenize the query_str 
 - tokens: list
 
search_query.pubmed.serializer module
Pubmed serializer.
- class search_query.pubmed.serializer.PUBMEDQuerySerializer
- Bases: - StringSerializer- PubMed query serializer. 
search_query.pubmed.translator module
Pubmed query translator.
- class search_query.pubmed.translator.PubmedTranslator
- Bases: - QueryTranslator- Translator for Pubmed queries. 
Module contents
Top-level package for PubMed.