Keep in mind, also, that a great deal of code has been written (and will be written before everyone has upgraded to the next version of Twisted) that uses the current IConsumer/IProducer APIs, and all of that will need to keep working for the forseeable future.
Sure. I'm currently in the situation, that I need to write a stream server capable of handling various sources (database, files, http, etc...) and various formats (images, videos, etc..). And as we've already learned, it's well worth thinking about a good abstraction for such streaming tasks. The IConsumer/IProducer pair seems to be the right thing, but if the API isn't stable (AFAIR semi-stable is stated in the documentation)...
You can find some discussion, as well as our attempts to create something better, here:
If you have new information, feel free to comment there, but please read all the comments and try to understand them first: there has been a *lot* of back-and-forth over this issue.
Okay, thank you very much for the pointers. I'll investigate further ;-)