actually prefer StringIO.StringIO by default, seems to have better unicode support than io.StringIO