[Python-ideas] Module aliases and/or "real names"
Ron Adam
rrr at ronadam.com
Mon Jan 10 18:55:45 CET 2011
On 01/10/2011 05:26 AM, Nick Coghlan wrote:
> On Mon, Jan 10, 2011 at 11:11 AM, Ron Adam<rrr at ronadam.com> wrote:
>> On the python side of things, the attributes we've been discussing almost
>> never have anything to do with what most programs are written to do. Unless
>> it's a program written specifically for managing pythons various parts. It's
>> kind of like the problem of separating content, context, and presentation in
>> web pages. Sometimes it's hard to do.
>
> Yep - 99.99% of python code will never care if this is ever fixed.
> However, the fact that we've started using acceleration modules and
> pseudo-packages in the standard library means that "things should just
> work" is being broken subtly in the stuff we're shipping ourselves
> (either by creating pickling problems, as in unittest, or misleading
> introspection results, as in functools and datetime).
>
> And if we're going to fix it at all, we may as well fix it right :)
Fixing it right mean taking a longer view point. What would we like all
this stuff to look like two or more versions down the road? (Probably
python 3.5 or 3.6)
Doing the minimum to fix just the immediate problems is a short term veiw.
That will work, but if we can align it with up with a longer view solution,
it would be better.
If we can't decide what the long term solution might be, then we may be
better off using private attributes and methods for now for these isolated
situations.
How about making __module__ a property on accelerated objects, that looks
for a global flag, then returned either, _module__ or _alt_module__
depending on the flag? (or some other way of store those values)
Pickle could set the flag so it can get what it needs from __module__, then
unset it when it's done.
Cheers,
Ron
More information about the Python-ideas
mailing list