| Twisted Python: Sliced Bread, part #2 |
Posted 12 Mar 2001 at 18:24 UTC by carmstro ![]() |
Twisted Python began as just a Python implementation of Twisted Reality; a framework for multiplayer text-based interactive fiction. Having previously had experience mostly with Java and C++, I was amazed by the amount flexibility and self-awareness that Python had. When a 20,000 line project went to approximately 3,000 lines overnight, and came out being more flexible and robust once it had been completed, I realized I was on to something really good. --Glyph Lefkowitz
Programming is fun; but programming is *more* fun when the classes of problems that you're not interested in solving don't get in the way of those that you are. Twisted Python uses the Python object model and module mechanism extensively to provide a set of orthogonal (although occasionally interdependent) services to all interested programmers. It is a repository of Python code to which a few people contribute, which will continue to be maintained as a research project for years to come.
There are many parts of Twisted Python, I'll give a summary of each part.
There are also several support modules, including a command-line parser (usage), an interesting dbm-like interface to a filesystem (dirdbm), and many others.
If you're interested in any of this, I'd highly recommend checking out the Philosophical tutorial to Twisted Python. It shows just how cool some of this stuff is.
I created Soko, a very dynamic web game using Twisted.Web. It's been a joy to work with, and I have a very featureful site after only a few days's work.
A coworker (bram) gave me a pointer to the 0.7 tarball of Twisted Python. I was mostly interested in the comms layer but found myself reading more and more. It looks like a very good architecture for designing a network base application on. If this had existed 9 months ago, we probably would have used it for mojo nation rather than the asyncore and custom event queue based system we currently use.
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!