Could a single web framework popularize Python?

Ian Bicking ianb at colorstudy.com
Tue Oct 7 16:13:15 EDT 2003


On Tuesday, October 7, 2003, at 07:10 AM, Alex Martelli wrote:
> Gilles Lenfant wrote:
>    ...
>>> to be the most popular. Then, there's Twisted, which is (I'd say) the
>>> dominant/most popular general-purpose networking framework for 
>>> Python.
>>
>> Twisted is *not* a web publishing framework. It's a low level protocol
>> framework, in the same family of packages as Medusa.
>> Or I missed something :o)
>
> Twisted comprises both lower and higher levels.  E.g., see
> http://www.twistedmatrix.com/services/twisted-advantage
> and I quote:
>
> """
> Publish a Web Site
>
> The twisted.web webserver is a scalable, small-footprint web server 
> that's
> easy to configure. It's efficient enough to serve a high-traffic 
> website,
> completely dynamic and reconfigureable on the fly, and simple enough to
> configure that you can have it set up and running in just minutes after
> you've downloaded it.
> """

Twisted is more like Apache or mod_python than a web framework.  Woven 
is a framework built on top of Twisted, and the closest thing to The 
Twisted Web Framework.

Working directly with Twisted is like writing Python CGI scripts.  
Sure, it works, but it's not a "framework".  Of course, you can build a 
framework on top of it (and you probably will be accident if not 
intention).

It gets confusing, though, because Twisted is both a specific program 
-- the Twisted server -- and a collection of tools and ideas, as well 
as an execution model (asynchronous) that becomes a defining aspect of 
Twisted.  Woven's architecture is strongly influenced by the 
requirements of asynchronous programming.  So while there's nothing 
keeping other frameworks from working on top of Twisted, Woven is one 
of the few (only?) that would really be Twisted style.  And of course 
Woven is the only real framework included with the Twisted distribution.

--
Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org






More information about the Python-list mailing list