[Twisted-Python] zope.interface

Phil Mayers p.mayers at imperial.ac.uk
Mon Dec 14 08:13:31 EST 2009

Tim Allen wrote:
> On Mon, Dec 14, 2009 at 11:48:48AM +0000, Phil Mayers wrote:
>> Jared Gisin wrote:
>>> Is there a good document that explains why zope.interface is necessary 
>>> to the twisted project?
>> A counter-question: Is there a good document that explains why people 
>> care? It's just another dependency isn't it?
> Trying to remember back to when I was a Twisted newbie, I seem to
> recall a pang of dismay at seeing the word "zope", until I realised that
> zope.interface was very small and self-contained and didn't have further
> dependencies on the rest of Zope.

As someone who went through the awesomely steep learning curve for (and 
still uses) Zope, I can sort-of understand that "oh no zope" moment, but 
on the other hand, having used Zope a lot, I finally realised it's kind 
of the Unix of web frameworks ("those that don't understand Zope are 
doomed to reinvent it, poorly"). My crufty old Zope 2 installation still 
does things no other web does without extensive configuration, patching 
or work on my part.

It's sad that what is actually a fine product is detested within the new 
generation of python coders because they couldn't take the time to learn 
it, and it's even sadder to imagine uptake of a small, self-contained 
and well-tested sub-package suffers because of its name.

This is one excellent argument for putting it into the standard library, 
which I guess isn't going to happen :o(

> Another possibility might be that the worry comes from people using
> systems that don't have good built-in dependency management. I don't
> know where pip/easy_install are at these days, but Debian's apt and
> Fedora's yum have numbed the painful memories of downloading some
> interesting code off the 'net and discovering yet further dependencies
> I would have to track down and install to get things working.

Yes, there do seem to be an awful lot of people who are basically too 
lazy to put actual work into getting their software environment 
functioning ;o)

In all seriousness though - people are either installing from source, or 
a package. If the former, they're going to have to "python setup.py 
install" at least once; one more time (on an easy-to-compile package 
with no dependencies of its own) is not compelling to me!

> I'm not saying these are well-researched or compelling reasons, just
> speculating about what might be going on.
> It occurs to me that recent discussions about splitting Deferreds off
> into their own library might consider zope.interface as a model. Has it
> prospered, as separate library? Does anyone besides Zope and Twisted use
> it? I don't know, but it might be worth finding out.

I don't *think* a lot of code uses it, which is unfortunate and 
symptomatic (IMHO) of a certain level of immaturity within the Python 


"""Hey, do you know what we need? Another web framework, with its own 
template engine, ORM and plugin API! W00t! This'll show those Ruby+Rails 

Really? Show them what exactly?


More information about the Twisted-Python mailing list