[Twisted-web] Twisted.web2

James Y Knight foom at fuhm.net
Tue Sep 14 20:19:14 MDT 2004

Itamar and I had dinner today and talked about new-web a bit. Here is 
what was discussed:
1) We need to keep compatibility with old Nevow resources
2) We ought to keep compatibility with old twisted.web resources
3) The new request API isn't the same as old request API.
4) new-web depends on Twisted 2.0. Nevow will be depending on new-web, 
so the next Nevow will depend on twisted 2.0. Thus it cannot be 
released until Twisted 2.0. According to itamar the goal for next 
Twisted release is around halloween, although I hadn't seen that 
mentioned anywhere before. ;)
5) Rumors are Anthony is writing a non-sucky HTTP client. (is this 
true?). J. Simms (slyphon) mentioned something about writing one to me 
a few weeks ago but I didn't hear anything after. This should be 
coordinated so the API for the client and server is as similar as 

Conclusions for action:
1) new-web will be called twisted.web2. I will put what I've got into 
svn trunk as twisted.web2 tomorrow, assuming no objections. This will 
allow easy backwards compatibility at the cost of a 2.
2) Nevow's resource traversal API must be moved to twisted.web2. This 
will probably have to be done by branching Nevow to remove those bits. 
Therefore, the resource traversal part of nevow should be mostly-frozen 
while this happens.
3) For distribution: twisted.web2 depends on Nevow (for static 
directory listings, and error pages), so will be distributed with it. 
Nevow recommends Twisted but does not require it for simple cases (e.g. 
flattening to a string from a CGI script), so there can also be a 
limited-functionality distribution of standalone Nevow.

Current status of new-web: the low-level HTTP protocol and header 
parsing is in passable shape. The high-level Resource API needs to be 
copied over from Nevow (again), because Nevow's API changed. Backwards 
compatibility adapters for the t.w.Request/nevow.inevow.IRequest and 
(possibly) nevow.inevow.IResource should be added.

I am not able to do everything myself. I will need help, especially 
from dp would be helpful for the Nevow transition, to make this happen. 
If we do it right, twisted.web2 might even be ready in time for the 
release of Twisted 2.0.


More information about the Twisted-web mailing list