[Python-Dev] Breaking undocumented API

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Mon Nov 8 22:45:12 CET 2010


On 09:25 pm, brett at python.org wrote:
>On Mon, Nov 8, 2010 at 13:03,  <exarkun at twistedmatrix.com> wrote:
>>On 07:58 pm, brett at python.org wrote:
>>>>
>>>>I don't think a strict don't remove without deprecation policy is
>>>>workable.  For example, is trace.rx_blank constant part of the trace
>>>>module API that needs to be preserved indefinitely?  I don't even 
>>>>know
>>>>if it is possible to add a deprecation warning to it, but
>>>>CoverageResults._blank_re would certainly be a better place for it.
>>>
>>>The deprecation policy obviously cannot apply to module-level 
>>>attributes.
>>
>>I'm not sure why this is.  Can you elaborate?
>
>There is no way to directly trigger a DeprecationWarning for an
>attribute. We can still document it, but there is just no way to
>programmatically enforce it.

What about `deprecatedModuleAttribute` 
(<http://twistedmatrix.com/documents/current/api/twisted.python.deprecate.html>) 
or zope.deprecation 
(<http://docs.zope.org/zope3/Book/deprecation/show.html>) which inspired 
it?

Jean-Paul


More information about the Python-Dev mailing list