classification
Title: Implement PEP 562: module __getattr__ and __dir__
Type: enhancement Stage: resolved
Components: Interpreter Core Versions: Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: levkivskyi Nosy List: levkivskyi, ncoghlan
Priority: normal Keywords: patch

Created on 2017-12-05 20:30 by levkivskyi, last changed 2017-12-14 11:19 by levkivskyi. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 4731 merged levkivskyi, 2017-12-05 20:31
Messages (3)
msg307935 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2017-12-10 00:39
For documentation of this feature, I'd suggest adding a new subsection after https://docs.python.org/3/reference/datamodel.html#customizing-attribute-access (but at the same level), called "Customizing module attribute access".

That can then cover defining __getattr__ and __dir__ as module level functions, and also mention setting __class__ (which would be enough to close issue 27505 as well).

The new section should explicitly mention that these only affect lookups and modifications made using the attribute access syntax - directly accessing the module globals (whether by code within the module, or via a reference to the module's globals dict) is unaffected.
msg308285 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2017-12-14 10:59
New changeset 5364b5cd7571f2dfa75acd37b388c14ac33fef73 by Ivan Levkivskyi in branch 'master':
bpo-32225: Implementation of PEP 562 (#4731)
https://github.com/python/cpython/commit/5364b5cd7571f2dfa75acd37b388c14ac33fef73
msg308290 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2017-12-14 11:19
Travis build on master successful, so I am closing this issue.
History
Date User Action Args
2017-12-14 11:19:15levkivskyisetstatus: open -> closed
resolution: fixed
messages: + msg308290

stage: patch review -> resolved
2017-12-14 10:59:47levkivskyisetmessages: + msg308285
2017-12-10 00:41:24ncoghlanlinkissue27505 dependencies
2017-12-10 00:39:16ncoghlansetmessages: + msg307935
2017-12-10 00:31:24ncoghlansetnosy: + ncoghlan
2017-12-05 20:31:15levkivskyisetkeywords: + patch
pull_requests: + pull_request4634
2017-12-05 20:30:14levkivskyicreate