Wes Mason gave a talk on Tornado (I think these are the slides: http://1stvamp.github.io/stormy-webber/) which introduced a useful topic. Since Tornado is a non-blocking async framework, it will not play nicely with libraries that are not aware of its own event loop and make blocking calls. You can use greenlets to wrap any such code, and Wes has provided TRequests: https://github.com/1stvamp/trequests which wraps the popular Requests library.