[Twisted-Python] Progress report on splitting packages

Thomas Mangin thomas.mangin at exa-networks.co.uk
Tue Apr 20 09:34:18 EDT 2004


Itamar Shtull-Trauring wrote:

>One problem with leaving it as twisted.news in future releases as Andrew
>suggests in a later email is that we lose our emphasis on the fact that
>it's a separate release with separate versions. Assume following
>scenario - we have lowdown 0.1 and lowdown 0.2, which are API
>incompatible. We want to be very clear that lowdown 0.1 can still be
>used on latest Twisted core, that you don't have to go in lockstep.
>  
>
Agreed, but it is a short term thing as all new users will have never 
known the "old way".

>So, looking at code - is twisted.foo part of core twisted and thus
>probably pretty stable or is it a separate package? What expectations
>can I have of API stability?
>  
>
It is no worse than currently where you have to read the doc. As well, 
even stable interface can change.
Nothing is set in stone.

>Partially this is just Python conventions. Separate packages go in
>separate namespaces. Possibly Java's system is better, but if it doesn't
>really match our users' expectations then we're just going to confuse
>them if we use it.
>  
>
So you mean that os.path is not pythonic ?
os.path is one of the first include that every python user do !

>Then again, maybe we're just being stupid and we should stick to
>Java-style "twisted.foo", so "twisted.news" with a "twisted.news.nntp".
>Who else thinks that's a good idea?
>  
>
Big repeat ...

I will repeat that I think that
<basename>.<protocol>(.<implementation>)+
basename :: twisted, foobar, other
protocol :: nntp, ldap, mail, ...
implementation ::  lowdown, smtp, pop3, ..

twisted.mail.pop3.byme
twisted.mail.pop3.byyou
twisted.nntp.lowdown
twisted.nntp.cnn

poweredbytwisted.mail.pop3.byme
poweredbytwisted.mail.pop3.byyou
poweredbytwisted.nntp.lowdown
poweredbytwisted.nntp.cnn

would be valid names

You could even have a prefered implementation accessible as
from twisted.nntp import default as nntp
or the like

Thomas




More information about the Twisted-Python mailing list