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.

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

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

Pull Requests
URL Status Linked Edit
PR 4731 merged levkivskyi, 2017-12-05 20:31
Messages (5)
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 (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)
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.
msg310271 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2018-01-19 10:29
I didn't notice this is implemented.
Congrats, Ivan!

BTW, would you update the PEP status to Final?
msg310313 - (view) Author: Ivan Levkivskyi (levkivskyi) * (Python committer) Date: 2018-01-20 01:07
> BTW, would you update the PEP status to Final?

Good point, here is the PR
Date User Action Args
2022-04-11 14:58:55adminsetgithub: 76406
2018-12-21 23:21:07cheryl.sabellalinkissue31503 superseder
2018-01-20 01:07:47levkivskyisetmessages: + msg310313
2018-01-19 10:29:08methanesetnosy: + methane
messages: + msg310271
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