python script SyntaxWarning: invalid escape sequence '\l'

python 3.12 has tightened handling of escape characters. This can trigger SyntaxWarning both from regexes and from LaTeX snippets.

Debian bug#1082809 calls attention to LaTeX cases in python utility scripts, trigger when installing debian packages:

/usr/share/petsc/3.20/lib/petsc/bin/petsc_tas_analysis.py:792: SyntaxWarning: invalid escape sequence '\l'
  axMeshConv.set(xlabel='Problem Size $\log N$',
/usr/share/petsc/3.20/lib/petsc/bin/petsc_tas_analysis.py:793: SyntaxWarning: invalid escape sequence '\l'
  ylabel='Error $\log |x - x^*|$', title='Mesh Convergence')
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:253: SyntaxWarning: invalid escape sequence '\d'
  print("\documentclass{article}")
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:256: SyntaxWarning: invalid escape sequence '\c'
  print("\centering")
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:259: SyntaxWarning: invalid escape sequence '\m'
  print(" &  & \multicolumn{4}{c}{--------------- Percent of -------------} &  \\\\")
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:261: SyntaxWarning: invalid escape sequence '\h'
  print("\hline")
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:321: SyntaxWarning: invalid escape sequence '\e'
  print("\end{tabular}")
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:322: SyntaxWarning: invalid escape sequence '\e'
  print("\end{table}")
/usr/share/petsc/3.20/lib/petsc/bin/petsclogformat.py:323: SyntaxWarning: invalid escape sequence '\e'
  print("\end{document}")

Intentional backslashes can be handled by marking the python string as raw r'\LaTeX', or by backslashing the backslash '\\LaTeX'. I'd argue the raw variant is easier to maintain.