[Zope-dev] zope.interface 4.0.0 considered annoying.

Gediminas Paulauskas menesis at pov.lt
Mon May 21 08:49:42 UTC 2012


2012/5/20 Tres Seaver <tseaver at palladion.com>:
> On 05/19/2012 07:23 PM, Jim Fulton wrote:
>> On Sat, May 19, 2012 at 5:59 PM, Tres Seaver <tseaver at palladion.com>
>> wrote:
>>> On 05/19/2012 12:12 PM, Jim Fulton wrote:
>>>> The declaration-syntax warnings in the zope.interface 4.0.0 are
>>>> annoying and mostly pointless.
>>>>
>>>> There will be enough pain in porting applications to Python 3,
>>>> avoiding the surprise of having to use a different
>>>> interface-declaration syntax will not be of any consequence.
>>>>
>>>> While the deprecation warning may provide some tiny benefit, the
>>>> annoyance, especially for applications or libraries that still
>>>> support Python 2.5 far outweights the benefit.
>>>
>>> We're in an odd spot:  the Python3 support for zope.interface
>>> mostly works, but the class advice bits (implements,
>>> implementsOnly, classProvides) fail silently under Python3 before
>>> 4.0.0:  they literally have no effect due to changes in class
>>> initialization machinery. zope.interface 4.0.0 changes those silent
>>> failures into exceptions (which is what I thought you were going to
>>> complain about).
>>
>> I'd forgotten the fail silently bit.  Can't we make the fail loudly
>> for Python 3?
>
> They already do:  4.0.0 makes them exceptions under Python3:  that fact
> was actually my rationale for the warnings under Python2, to allow folks
> to find and remediate them before porting.

If they are exceptions under Python 3, developers will get them and
have to fix when porting to Python 3. There is a lot of other work to
be done at the same time. But under Python 2, implements and friends
continue to work, so the warnings are very annoying.

> I will release a 4.0.1 silencing the warnings unless somebody speaks up
> in their favor.

Please, only warn on Python 3.

-- 
Gediminas Paulauskas


More information about the Zope-Dev mailing list