[Python-Dev] Breaking undocumented API (original) (raw)

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