Ah I see, not when I replied. That, or I read over them.
also zapatos, scala-slick (see type-checked sql statements) and yesql
datagrip in pycharm seems to be on a similar trip. The SQL stays in string literals, but datagrip looks inside the string literal to validate and propose auto-completion.