While the documentation about deferreds is good, it is still not enough for many. In this interactive tutorial, I will cover both the basics of deferreds and many non-trivial use-cases, with discussion of various approaches. Common mistakes, gotchas and other issues will be explained, as well as good idioms and techniques to use deferreds without pain. Deferreds bring asynchronous APIs the clarity and programming power that is sometimes lost when using event-based programming. They are an idea taken from many other programming languages, and made into a Pythonic solution If you are using Twisted, or would like to use Twisted, this tutorial can help you with one of the most subtle issues inherent in its APIs - Deferreds.