[Twisted-Python] Twisted split: tap plugins

Christopher Armstrong radix at twistedmatrix.com
Sun Apr 18 08:29:39 MDT 2004


Itamar Shtull-Trauring wrote:
> On Sat, 2004-04-17 at 17:28, Itamar Shtull-Trauring wrote:
> 
> 
>>Options:
>>1. No backwards compatibility.
>>2. If TwistedNews is installed, it will also show up as twisted.news for
>>backwards compatibility.
> 
> 
> For twisted.web, I think we should go for option #2 using the *current*
> code, and the new rewrite will of course not be in same namespace.

Ok, yeah, I've decided that I want to keep deprecated backwards 
compatibility. We have kept it before for much smaller changes. There 
are three ways to do this:

  1. Leave a copy in Twisted proper for a release or two
  2. Physically install as twisted/news/
  3. Do something at runtime

#2 does not sound like a robust way to do it, but I am not sure of the 
particular problems involved.

#3 is also either hacky or problematic; an import hook is not something 
I want to resort to, and sys.modules munging requires managing to get 
some of our code to run before imports to 'twisted.news' happen.

#1 seems like it might work, barring problems with things like 
plugins.tml...

I just came up with another idea; I suppose it would be a mixture of #1 
and #3. We can release Twisted 1.3 and require that people using new 
split-offs use it. In Twisted 1.3, we delete twisted/news/* and so on, 
but we leave an __init__.py that sets things up for us so that it 
mirrors the new split-off package, if available (after printing a 
deprecation warning). After a few releases, we delete twisted/news entirely.


-- 
  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: </pipermail/twisted-python/attachments/20040418/a2b36969/attachment.sig>


More information about the Twisted-Python mailing list