Let me just add Numba to the list. It compiles numpy-using code to native via llvm and can remove temporary arrays in the process.
I tried a very simple toy program the other day and while I had to write some things slightly un-pythonically (it can't deal with syntax like a[:] = b+c yet), it performed practically as good as hand-written C code.