[Twisted-web] status of Twisted Web and Web 2

glyph at divmod.com glyph at divmod.com
Wed Mar 5 21:18:28 EST 2008


On 01:52 am, amcnabb at mcnabbs.org wrote:
>I've been trying to understand what the current status of Twisted Web
>and Web 2 are.  Everything I've found on Google seems to be a year or
>two old, so I was wondering of someone here could give a more up-to- 
>date
>summary.

You should read 
http://twistedmatrix.com/trac/wiki/WebDevelopmentWithTwisted if you 
haven't already.
>Is Twisted Web 2 close to becoming stable?

Not unless a lot of qualified people discover a lot of free time in the 
near future.
>Is it an active project (most of the tickets I saw on Trac were a year 
>or two old)?

Yes, sort of.  There really isn't a lot of manpower available.  But it's 
not dead.
>How is its support for HTTP 1.1?

It is an HTTP 1.1 server.  What else do you mean?
>How complete is XMLRPC support on both client and server?

I don't personally know, but isn't XMLRPC kind of trivially simple by 
design?  I've never heard of anyone having difficulty with XMLRPC 
support in Twisted.
>Is there anything that Twisted Web is still better at than Web 2?

Twisted Web is still quite a bit faster.  It's also simpler.  It might 
have fewer bugs, just by virtue of having been around longer and being 
more widely used.  On the other hand it might have more bugs because 
there has been less enthusiasm to work on it.

It still has twisted.web.distrib, which is a sort of  automated reverse 
proxy for UNIX-like systems; I don't think web2 has an equivalent yet. 
It doesn't sound like that'll make a difference to your application 
though.
>I've written some code that uses Twisted Web, and it seemed a little
>basic.  For example, I had to make some modifications in order to
>receive large files in progress instead of waiting until they were done
>downloading.

It would be nice if you would contribute those modifications as a patch 
and sheperd it through the process of being merged.  If more people did 
that perhaps the project wouldn't be so stagnant :).
>I have a new project that would use a lot of HTTP and XMLRPC, and I was
>wondering if it would be safer to go with Twisted Web or Twisted Web 2.

I doubt you'll have any serious problems with either one.  Unfortunately 
there is no clearly correct answer to your question at this point, but 
if you make the "wrong" decision, it shouldn't be terribly difficult to 
port your code to the "right" one later.
>I was also wondering if there are any recent or forthcoming 
>advancements
>to look forward to.

I would avoid anticipating any work on the part of the Twisted team.  I 
think that it's safe to say we are universally overworked.  There's lots 
of stuff we'd *like* to do, but not a lot that we're really able to :).
>Thanks.

My personal hope is that we will pick up maintenance on twisted.web 
again soon, merge in all the interesting features of web2 and let it 
gradually fade away, at least as a public namespace.  web2 does contain 
some very useful stuff (I think its HTTP implementation is very 
obviously better than twisted.web's; beyond being HTTP/1.1, it's better 
factored, for example).  However, it also contains many copies of things 
from twisted.web or nevow (static.File, for example, is copied in all 
three).

I'd also like to fold in large parts of Nevow and get rid, at the very 
least, of Nevow's application server components.  Ideally we'd fold in 
everything but the templating system requires _even more_ work to be 
ready for inclusion in twisted proper.  But this is all going to take a 
lot of work and the only real reward would be to get rid of the exact 
question that you are asking ("which of these two or three options 
should I use"), which, while it is important for Twisted's PR, is not a 
very satisfying outcome, at least when contrasted with fixing bugs or 
adding features.

Also, the fact that this is what I hope will happen doesn't mean it 
will.  I guess technically nobody has challenged me in a fight to the 
death for leadership of the Twisted project, so I'm still technically 
"the leader", but over the last few years we have been shifting towards 
a consensus-driven decision making process which has been working out 
pretty well.  I don't particularly like giving fiats and there's no 
mechanism in place to make sure people act upon them, so there's not 
much point.  If a competent team of a dozen people showed up tomorrow 
with tons of time to work on web stuff in twisted and decided web2 was 
where it's at, I would probably support them, since I'd be happy to have 
_any_ resolution which resulted in one correct answer to your question 
:).



More information about the Twisted-web mailing list