[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