Orpheus, Antonio Canova

Even though he was the most charming singer in the world, Orpheus couldn't rescue Eurydice from hell. As he was leading her out of Hades he turned to call back to her, and lost her forever.

But you can rescue your Python programs from callback hell! In the coming month I plan to release Motor 0.2 with full support for Tornado coroutines. You'll get an asynchronous interface to MongoDB that uses coroutines and Futures, and there won't be a callback in sight. (Unless you want them.)

Josh Austin at MaaSive.net is using a development version of Motor in production for the sake of its cleaner API. I wouldn't recommend using unreleased code, but Josh has written a superb article justifying his choice. He details the evolution of Motor's asynchronous API and shows how the latest style is simpler and less error-prone.

Go read his article, and escape Orpheus's tragic fate.