Why is nobody ever writing raw SQL? I've never understood why ORMs are sine qua min.

Raw sql is not composable.

There is a middle-ground between writing SQL statement strings in your code, and a full-blown ORM: query builders. At least in my experience with small to medium projects, these have far fewer footguns while keeping the code composable and readable. Here's one for Python: https://github.com/kayak/pypika