The regex errors come from the use of "invalid escape sequences" in regex patterns defined within the appier library. In Python 3.6 and later, sequences like (, \<, and \: in regular expressions should be either double escaped (e.g., \() or, preferably, raw string literals should be used by prefixing the string with r, to avoid these warnings. This is because such sequences are not valid Python string escape sequences, and starting from Python 3.6, a SyntaxWarning is raised for these.
Here's an example to illustrate the adjustment:
Original code in appier that might be causing warnings:
SyntaxWarning: invalid escape sequence
The regex errors come from the use of "invalid escape sequences" in regex patterns defined within the appier library. In Python 3.6 and later, sequences like (, \<, and \: in regular expressions should be either double escaped (e.g., \() or, preferably, raw string literals should be used by prefixing the string with r, to avoid these warnings. This is because such sequences are not valid Python string escape sequences, and starting from Python 3.6, a SyntaxWarning is raised for these.
Here's an example to illustrate the adjustment:
Original code in appier that might be causing warnings:
REPLACE_REGEX = re.compile("(?<!\(\?P)\<((\w+)(\([\"'].*?[\"']\))?:)?(\w+)\>")
Adjusted code using a raw string literal:
REPLACE_REGEX = re.compile(r"(?<!\(\?P)\<((\w+)(\([\"'].*?[\"']\))?:)?(\w+)\>")