[New-bugs-announce] [issue42088] types.SimpleNamespace.__repr__ documentation inconsistency

Ben Avrahami report at bugs.python.org
Mon Oct 19 16:34:54 EDT 2020


New submission from Ben Avrahami <avrahami.ben at gmail.com>:

According to the documentation for types.SimpleNamespace, `repr(SimpleNamespace())` should return `"SimpleNamespace()"`, but in actuality returns `"namespace()"`. This is because SimpleNamespace is an alias for the C implemented type `_PyNamespaceObject`. Interestingly, `_PyNamespaceObject` names itself `"types.SimpleNamespace"`. This has the obvious issue of the documentation being wrong, but also the (perhaps less interesting issue) of `eval(repr(SimpleNamespace))` resulting in a NameError.

I propose that `_PyNamespaceObject`'s __repr__ method be changed to return `"SimpleNamespace(<args>)"`. This would require only the change of a constant in one line (currently this is line 75 on namespaceobject.c).

A smaller fix would be to change the documentation to correctly reflect this behavior.

----------
components: Library (Lib)
messages: 379010
nosy: avrahami.ben
priority: normal
severity: normal
status: open
title: types.SimpleNamespace.__repr__ documentation inconsistency
versions: Python 3.10

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42088>
_______________________________________


More information about the New-bugs-announce mailing list