I worry that in the end @property isn't general enough and the major use cases end up still having to use __class__ assignment, and then we'd have a fairly useless feature that we cant withdraw, ever.
"@property" 375 hits@property seems pretty popular.
"def __getattr__" 28 hits
"def __getattribute__(" 2 hits
I've updated the prototype to add one. I added it as "collections.abc.Why is there no mechanism to add new descriptors that can work in this context?InstanceDescriptor"; that's a base class you can inherit from, and then your descriptor will work in a module. Bikeshedding the name is fine.
I don't understand the question, or the answer. (And finding the prototype is taking longer than writing this email.)
https://github.com/larryhastings/cpython/tree/module-properties