title: Algorithm for neatly indenting SQL statements (Python implementation would be nice)
body: <p>I'd like to reformat some SQL statements that are a single string with newlines in to something that's much easier to read.</p>
  
  <p>I don't personally know of a good coding style for indenting SQL - how should nested queries / where clauses / left joins / etc by represented to maximise readability?</p>
  
  <p>Has anyone seen a pretty-printing algorithm that does this already? In Python would be even better.</p>