According to http://docs.python.org/reference/compound_stmts.html, a statement list is a statement:
statement ::= stmt_list NEWLINE | compound_stmt stmt_list ::= simple_stmt (";" simple_stmt)* [";"]
This would mean that a suite of semicolon separated simple statements is still a statement and py-end-of-statement is correct.
According to http:// docs.python. org/reference/ compound_ stmts.html, a statement list is a statement:
statement ::= stmt_list NEWLINE | compound_stmt
stmt_list ::= simple_stmt (";" simple_stmt)* [";"]
This would mean that a suite of semicolon separated simple statements is still a statement and py-end-of-statement is correct.