<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Nov 8, 2010, at 4:50 PM, Guido van Rossum wrote:</div><blockquote type="cite"><span class="Apple-style-span" style="font-family: monospace; ">On Mon, Nov 8, 2010 at 3:55 PM, Glyph Lefkowitz <<a href="mailto:glyph@twistedmatrix.com">glyph@twistedmatrix.com</a>> wrote:<br><blockquote type="cite">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.<br></blockquote></span></blockquote><div><span class="Apple-style-span" style="font-family: monospace; "><blockquote type="cite"><br></blockquote></span></div><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: 'Bitstream Vera Sans Mono'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="font-family: monospace; ">But the Twisted universe is only a subset of the Python universe. The<br>Python stdlib needs to move more carefully.<br></span></span></blockquote></div><br><div>While this is true, I think the Twisted universe generally represents a particularly conservative, compatibility-conscious area within the Python universe (multiverse?). I know of several Twisted users who regularly upgrade to the most recent version of Twisted without incident, but can't move from Python 2.4->2.5 because of compatibility issues.</div><div><br></div><div>That's not to say that there are <i>no</i> areas within the larger Python ecosystem that I'm unaware of where putting non-module-objects into sys.modules would cause issues. But if it were a practice that were at all common, I suspect that we would have bumped into it by now.</div><div><br></div></body></html>