zope.interface 4.0.0 considered annoying.
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. I propose that these deprecation warnings be removed. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton Jerky is better than bacon! http://www.dublinstore.com/
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). Note as well that zope.interface 4.0.0 doesn't support Python 2.5 any longer.
I propose that these deprecation warnings be removed.
I can do that, if that is the consensus. Tres. -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com
On Sat, May 19, 2012 at 5:59 PM, Tres Seaver <tseaver@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? Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton Jerky is better than bacon! http://www.dublinstore.com/
On 05/19/2012 07:23 PM, Jim Fulton wrote:
On Sat, May 19, 2012 at 5:59 PM, Tres Seaver <tseaver@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. I will release a 4.0.1 silencing the warnings unless somebody speaks up in their favor. Tres. -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com
On Sun, May 20, 2012 at 12:08 AM, Tres Seaver <tseaver@palladion.com> wrote:
On 05/19/2012 07:23 PM, Jim Fulton wrote:
...
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.
That's reasonable. I'd probably have had the same inclination -- until I experienced the result. :)
I will release a 4.0.1 silencing the warnings unless somebody speaks up in their favor.
Thanks. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton Jerky is better than bacon! http://www.dublinstore.com/
On Sun, May 20, 2012 at 6:08 AM, Tres Seaver <tseaver@palladion.com> wrote:
I will release a 4.0.1 silencing the warnings unless somebody speaks up in their favor.
We should make sure we have 2to3 fixers for everything change as well. I added some fixers, but it's so long ago I'm not sure all changes are covered. But with fixers the warnings aren't very problematic, as fixing the loud failures is just a matter of running the fixers. //Lennart
On Sun, May 20, 2012 at 4:28 PM, Lennart Regebro <regebro@gmail.com> wrote:
On Sun, May 20, 2012 at 6:08 AM, Tres Seaver <tseaver@palladion.com> wrote:
I will release a 4.0.1 silencing the warnings unless somebody speaks up in their favor.
We should make sure we have 2to3 fixers for everything change as well. I added some fixers, but it's so long ago I'm not sure all changes are covered. But with fixers the warnings aren't very problematic, as fixing the loud failures is just a matter of running the fixers.
Except that most of us aren't going to use 2to3, except for an initial stab at porting to 2&3. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton Jerky is better than bacon! http://www.dublinstore.com/
On Sun, May 20, 2012 at 10:42 PM, Jim Fulton <jim@zope.com> wrote:
Except that most of us aren't going to use 2to3, except for an initial stab at porting to 2&3.
Which is good enough. You only need to run it once. //Lennart
On 05/20/2012 04:28 PM, Lennart Regebro wrote:
On Sun, May 20, 2012 at 6:08 AM, Tres Seaver <tseaver@palladion.com> wrote:
I will release a 4.0.1 silencing the warnings unless somebody speaks up in their favor.
We should make sure we have 2to3 fixers for everything change as well. I added some fixers, but it's so long ago I'm not sure all changes are covered. But with fixers the warnings aren't very problematic, as fixing the loud failures is just a matter of running the fixers.
FWIW, I'm no longer using 2to3 for anything (it was the source of the multi-minute install time for zope.interfaceu under Py3k). I have no objection to having the relevant fixers added to the zope.fixers package. Tres. -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com
2012/5/20 Tres Seaver <tseaver@palladion.com>:
On 05/19/2012 07:23 PM, Jim Fulton wrote:
On Sat, May 19, 2012 at 5:59 PM, Tres Seaver <tseaver@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
On 05/21/2012 04:49 AM, Gediminas Paulauskas wrote:
2012/5/20 Tres Seaver <tseaver@palladion.com>:
On 05/19/2012 07:23 PM, Jim Fulton wrote:
On Sat, May 19, 2012 at 5:59 PM, Tres Seaver <tseaver@palladion.com> wrote: 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.
On Python3, it *needs* to be an exception: code which still uses the class advice APIs won't work. Tres. -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com
On Sun, May 20, 2012 at 12:08:14AM -0400, Tres Seaver wrote:
On 05/19/2012 07:23 PM, Jim Fulton wrote:
On Sat, May 19, 2012 at 5:59 PM, Tres Seaver <tseaver@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.
I will release a 4.0.1 silencing the warnings unless somebody speaks up in their favor.
+1 to silencing the warnings under Python 2 -- Brian Sutherland
On 05/19/2012 05:59 PM, Tres Seaver wrote:
On 05/19/2012 12:12 PM, Jim Fulton wrote:
I propose that these deprecation warnings be removed.
I can do that, if that is the consensus.
Now done, and released as zope.interface 4.0.1. Tres. -- =================================================================== Tres Seaver +1 540-429-0999 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com
participants (5)
-
Brian Sutherland -
Gediminas Paulauskas -
Jim Fulton -
Lennart Regebro -
Tres Seaver