[Python-Dev] Breaking undocumented API

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Tue Nov 9 03:03:23 CET 2010


On 12:50 am, guido at python.org wrote:
>On Mon, Nov 8, 2010 at 3:55 PM, Glyph Lefkowitz 
><glyph at twistedmatrix.com> wrote:
>>This seems like a pretty clear case of "practicality beats purity". 
>>Not only has nobody complained about deprecatedModuleAttribute, but 
>>there are tons of things which show up in sys.modules that aren't 
>>modules in the sense of 'instances of ModuleType'.  The Twisted 
>>reactor, for example, is an instance, and we've been doing *that* for 
>>about 10 years with no complaints.
>
>But the Twisted universe is only a subset of the Python universe. The
>Python stdlib needs to move more carefully.

I think that Twisted developers are pretty careful to consider the 
consequences of changes they make to Twisted.  We have an explicit, 
documented backwards compatibility policy, for example.  We also have 
mandatory code review for all changes, with a documented set of 
guidelines outlining the minimum things a reviewer should be 
considering.

I wonder if there are any actual technical arguments to be made against 
something like `deprecatedModuleAttribute`?

Also, it turns out that ModuleType can be subclassed these days.

Jean-Paul


More information about the Python-Dev mailing list