This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients brett.cannon, codypiersall, ncoghlan, rhettinger, terry.reedy
Date 2017-09-18.05:02:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1505710949.34.0.688044336665.issue31503@psf.upfronthosting.co.za>
In-reply-to
Content
As far the implementation goes, since the `__dir__` overload support in the `dir()` builtin ignores instance dictionaries, this could be implemented in module.__dir__ (or object.__dir__) rather than directly in the builtin.

Alternatively, it could use a different attribute name rather than having `__dir__` be a list of strings on instances, and a protocol method on classes.

If we went with a different name, then I think `__public__` would be a reasonable option, since the purpose of the attribute is to make it easy to programmatically distinguish public attributes from non-public ones (independently of the established leading underscore convention, which doesn't work well for transitive module references).
History
Date User Action Args
2017-09-18 05:02:29ncoghlansetrecipients: + ncoghlan, brett.cannon, rhettinger, terry.reedy, codypiersall
2017-09-18 05:02:29ncoghlansetmessageid: <1505710949.34.0.688044336665.issue31503@psf.upfronthosting.co.za>
2017-09-18 05:02:29ncoghlanlinkissue31503 messages
2017-09-18 05:02:28ncoghlancreate