Is it possible to create a transaction in pure python without needing to run bitcoin locally?
In case you have not seen it, there is a good (IMHO) article which describes how to generate a transaction "manually" using "raw" python (no bitcoin libs or RPC): 
"Bitcoins the hard way: Using the raw Bitcoin protocol"