[Twisted-Python] Progress report on splitting packages

Christopher Armstrong radix at twistedmatrix.com
Mon Apr 19 21:58:30 EDT 2004

Andrew Bennetts wrote:
> On Mon, Apr 19, 2004 at 01:48:27PM -0400, Itamar Shtull-Trauring wrote:
>>Since Chris didn't send one in. Hope this is accurate.
>>News was split off, backwards compat code is in, site is up:
> I'm curious -- why did we choose to change the name from twisted.news?  And
> even though the name is changing, why is the new package "lowdown" and not
> "twisted.lowdown"?

It was decided that doing package names like this would be too 
problematic. Unfortunately, Python isn't as cool as Java. The name was 
changed to lowdown because "news" is a bad top-level package name and 
"twistednews" and "tnews" and various permutations so forth were also 
lame. Also, "Low Down" is cool. Get it? The LOW DOWN??? The NEWS??? Ha Ha!

> I'm also interested to see that NNTP protocol support has also migrated to
> lowdown -- I was expecting that protocol implementations were going to stay
> in Twisted (or perhaps a twisted.protocols project, if that gets split off),
> and just the apps (i.e. direct subpackages of twisted, e.g. news, mail, web,
> names, conch, ...) would be seperated.

Nah. These split-offs are going to contain protocols and minimal 
framework for implementing apps, along with maybe a very simple 
implementation of an actual app.

> So, I assume that this is the policy that other splits should follow?  If
> so, this needs to be documented.

Let it be known that the split-offs will contain relevant protocols.

> I'd like to see the reasons for these decisions summarised in that document
> too -- I can guess at them, but it would be nice to know, and will help
> future splits of subprojects go smoothly and consistently.

I'm not interested in creating a "Split Document", because that's an 
inherently temporal thing. With the help of exarkun, there does exist a 
small file documenting the process that I must go through to do a split 
for a particular project, but it is not of general interest (no 
rationale, etc).

It would probably be a good idea to outline what exactly WILL be split 
out, and what will be contained in the splits, now, though. I am not 
authoritative on this, but I can tell you what I plan on working on soon 
(In the order that I've thought of them):

<twisted-package> -> <canonical project name>

twisted.news -> "Lowdown"
   done. contains nntp.

twisted.flow -> "Flow" (?)
   This one's easy, no protocols or anything.

twisted.conch -> "Conch"
   This will be named "Conch", and contain conch as well as the
   SSH protocol implemantations.

twisted.lore -> "Lore" (?)

twisted.words, twisted.im -> "Twisted Words" (?)
   This'll be a single package. The packagename will probably be 'words'.
   I'm not *sure*, but I expect IRC and the other IM/chat protocols will
   go into this package.

twisted.mail -> ???
   SMTP, POP3, IMAP, *some* of the stuff from current twisted.mail

twisted.names -> "Twisted Names" (?)
   + DNS proto

twisted.xish -> No idea.
   No idea. I imagine this will just be made a part of the Jabber
   package, whatever that is.

twisted.runner -> ???
   Yeah, might as well get rid of this one too.

twisted.pair -> ???
   I don't know anything about this package.

twisted.trial -> ???
   This one is going to have to require some thought, since *all* the
   other packages depend on it, but I think that people do want to split
   it out.

twisted.web -> ???
   HTTP protocol implementation, and twisted.web. It is still undecided
   whether Nevow will be included in this package. Discuss it on the
   twisted-web mailing list.

twisted.protocols.ftp + slyphon's sandbox -> ???
   Need to split this out too.


There has been talk of leaving Spread in Twisted core. That seems like a 
fine idea to me, but I'm not the one to debate that with. Also 
enterprise, manhole. Dunno if we'll split those out. Cred, internet, 
application, python, persisted are definitely staying. We will still 
have a 'protocols' package left with a few protocols that don't have any 
framework for them implemented.


  Twisted | Christopher Armstrong: International Man of Twistery
   Radix  |          Release Manager,  Twisted Project
---------+           http://radix.twistedmatrix.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://twistedmatrix.com/pipermail/twisted-python/attachments/20040419/f3e202c9/attachment.pgp 

More information about the Twisted-Python mailing list