Skip to content

inspect.getmember docs do not mention __type_params__ for functions and classes #116782

@sobolevn

Description

@sobolevn

Bug report

Docs do not mention __type_params__ key returned value for classes and functions:

+===========+===================+===========================+
| class | __doc__ | documentation string |
+-----------+-------------------+---------------------------+
| | __name__ | name with which this |
| | | class was defined |
+-----------+-------------------+---------------------------+
| | __qualname__ | qualified name |
+-----------+-------------------+---------------------------+
| | __module__ | name of module in which |
| | | this class was defined |
+-----------+-------------------+---------------------------+
| method | __doc__ | documentation string |
+-----------+-------------------+---------------------------+
| function | __doc__ | documentation string |
+-----------+-------------------+---------------------------+
| | __name__ | name with which this |
| | | function was defined |
+-----------+-------------------+---------------------------+
| | __qualname__ | qualified name |
+-----------+-------------------+---------------------------+
| | __code__ | code object containing |
| | | compiled function |
| | | :term:`bytecode` |
+-----------+-------------------+---------------------------+
| | __defaults__ | tuple of any default |
| | | values for positional or |
| | | keyword parameters |
+-----------+-------------------+---------------------------+
| | __kwdefaults__ | mapping of any default |
| | | values for keyword-only |
| | | parameters |
+-----------+-------------------+---------------------------+
| | __globals__ | global namespace in which |
| | | this function was defined |
+-----------+-------------------+---------------------------+
| | __builtins__ | builtins namespace |
+-----------+-------------------+---------------------------+
| | __annotations__ | mapping of parameters |
| | | names to annotations; |
| | | ``"return"`` key is |
| | | reserved for return |
| | | annotations. |
+-----------+-------------------+---------------------------+
| | __module__ | name of module in which |
| | | this function was defined |
+-----------+-------------------+---------------------------+
| traceback | tb_frame | frame object at this |

But, they are returned:

>>> class A[T]: ...
... 
>>> import inspect
>>> dict(inspect.getmembers(A))['__type_params__']
(T,)

I will send a PR for that.

Linked PRs

Metadata

Metadata

Assignees

Labels

docsDocumentation in the Doc dirstdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions