Skip to content

inspect.signature can’t recognize part of built-in callable objects #123473

@idanhazan

Description

@idanhazan

Bug report

Bug description:

I’m not sure if this is a bug, but I’m wondering why inspect.signature can’t provide the signature of all built-in callable objects. If they are callable, they should have a signature, so I think it might be considered a bug.

A list of all the exceptions raised when trying to get the signature of all callable objects directly from the builtins module.

ValueError("no signature found for builtin type <class '...'>")
ValueError("no signature found for builtin <class '...'>")
ValueError('no signature found for builtin <built-in function ...>')
ValueError('<built-in function ...> builtin has invalid signature')

Code to reproduce the behaviour:

import builtins
import inspect

for attribute in dir(builtins):
    obj = getattr(builtins, attribute)
    if callable(obj):
        try:
            signature = inspect.signature(obj)
            print(f'builtins.{attribute}{signature}')
        except ValueError as exception:
            print(f'{exception!r}')
ValueError("no signature found for builtin type <class 'ArithmeticError'>")
ValueError("no signature found for builtin type <class 'AssertionError'>")
ValueError("no signature found for builtin type <class 'AttributeError'>")
ValueError("no signature found for builtin type <class 'BaseException'>")
ValueError("no signature found for builtin type <class 'BaseExceptionGroup'>")
ValueError("no signature found for builtin type <class 'BlockingIOError'>")
ValueError("no signature found for builtin type <class 'BrokenPipeError'>")
ValueError("no signature found for builtin type <class 'BufferError'>")
ValueError("no signature found for builtin type <class 'BytesWarning'>")
ValueError("no signature found for builtin type <class 'ChildProcessError'>")
ValueError("no signature found for builtin type <class 'ConnectionAbortedError'>")
ValueError("no signature found for builtin type <class 'ConnectionError'>")
ValueError("no signature found for builtin type <class 'ConnectionRefusedError'>")
ValueError("no signature found for builtin type <class 'ConnectionResetError'>")
ValueError("no signature found for builtin type <class 'DeprecationWarning'>")
ValueError("no signature found for builtin type <class 'EOFError'>")
ValueError("no signature found for builtin type <class 'EncodingWarning'>")
ValueError("no signature found for builtin type <class 'OSError'>")
ValueError("no signature found for builtin type <class 'Exception'>")
ValueError("no signature found for builtin type <class 'ExceptionGroup'>")
ValueError("no signature found for builtin type <class 'FileExistsError'>")
ValueError("no signature found for builtin type <class 'FileNotFoundError'>")
ValueError("no signature found for builtin type <class 'FloatingPointError'>")
ValueError("no signature found for builtin type <class 'FutureWarning'>")
ValueError("no signature found for builtin type <class 'GeneratorExit'>")
ValueError("no signature found for builtin type <class 'OSError'>")
ValueError("no signature found for builtin type <class 'ImportError'>")
ValueError("no signature found for builtin type <class 'ImportWarning'>")
ValueError("no signature found for builtin type <class 'IndentationError'>")
ValueError("no signature found for builtin type <class 'IndexError'>")
ValueError("no signature found for builtin type <class 'InterruptedError'>")
ValueError("no signature found for builtin type <class 'IsADirectoryError'>")
ValueError("no signature found for builtin type <class 'KeyError'>")
ValueError("no signature found for builtin type <class 'KeyboardInterrupt'>")
ValueError("no signature found for builtin type <class 'LookupError'>")
ValueError("no signature found for builtin type <class 'MemoryError'>")
ValueError("no signature found for builtin type <class 'ModuleNotFoundError'>")
ValueError("no signature found for builtin type <class 'NameError'>")
ValueError("no signature found for builtin type <class 'NotADirectoryError'>")
ValueError("no signature found for builtin type <class 'NotImplementedError'>")
ValueError("no signature found for builtin type <class 'OSError'>")
ValueError("no signature found for builtin type <class 'OverflowError'>")
ValueError("no signature found for builtin type <class 'PendingDeprecationWarning'>")
ValueError("no signature found for builtin type <class 'PermissionError'>")
ValueError("no signature found for builtin type <class 'ProcessLookupError'>")
ValueError("no signature found for builtin type <class 'RecursionError'>")
ValueError("no signature found for builtin type <class 'ReferenceError'>")
ValueError("no signature found for builtin type <class 'ResourceWarning'>")
ValueError("no signature found for builtin type <class 'RuntimeError'>")
ValueError("no signature found for builtin type <class 'RuntimeWarning'>")
ValueError("no signature found for builtin type <class 'StopAsyncIteration'>")
ValueError("no signature found for builtin type <class 'StopIteration'>")
ValueError("no signature found for builtin type <class 'SyntaxError'>")
ValueError("no signature found for builtin type <class 'SyntaxWarning'>")
ValueError("no signature found for builtin type <class 'SystemError'>")
ValueError("no signature found for builtin type <class 'SystemExit'>")
ValueError("no signature found for builtin type <class 'TabError'>")
ValueError("no signature found for builtin type <class 'TimeoutError'>")
ValueError("no signature found for builtin type <class 'TypeError'>")
ValueError("no signature found for builtin type <class 'UnboundLocalError'>")
ValueError("no signature found for builtin type <class 'UnicodeDecodeError'>")
ValueError("no signature found for builtin type <class 'UnicodeEncodeError'>")
ValueError("no signature found for builtin type <class 'UnicodeError'>")
ValueError("no signature found for builtin type <class 'UnicodeTranslateError'>")
ValueError("no signature found for builtin type <class 'UnicodeWarning'>")
ValueError("no signature found for builtin type <class 'UserWarning'>")
ValueError("no signature found for builtin type <class 'ValueError'>")
ValueError("no signature found for builtin type <class 'Warning'>")
ValueError("no signature found for builtin type <class 'ZeroDivisionError'>")
ValueError('no signature found for builtin <built-in function __build_class__>')
builtins.__import__(name, globals=None, locals=None, fromlist=(), level=0)
builtins.__loader__()
builtins.abs(x, /)
builtins.aiter(async_iterable, /)
builtins.all(iterable, /)
ValueError('<built-in function anext> builtin has invalid signature')
builtins.any(iterable, /)
builtins.ascii(obj, /)
builtins.bin(number, /)
ValueError("no signature found for builtin type <class 'bool'>")
ValueError('no signature found for builtin <built-in function breakpoint>')
ValueError("no signature found for builtin type <class 'bytearray'>")
ValueError("no signature found for builtin type <class 'bytes'>")
builtins.callable(obj, /)
builtins.chr(i, /)
ValueError("no signature found for builtin type <class 'classmethod'>")
builtins.compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1, *, _feature_version=-1)
builtins.complex(real=0, imag=0)
builtins.copyright()
builtins.credits()
builtins.delattr(obj, name, /)
ValueError("no signature found for builtin type <class 'dict'>")
ValueError('<built-in function dir> builtin has invalid signature')
builtins.display(*objs, include=None, exclude=None, metadata=None, transient=None, display_id=None, raw=False, clear=False, **kwargs)
builtins.divmod(x, y, /)
builtins.enumerate(iterable, start=0)
builtins.eval(source, globals=None, locals=None, /)
builtins.exec(source, globals=None, locals=None, /, *, closure=None)
builtins.execfile(file, glob=None, loc=None)
ValueError("no signature found for builtin type <class 'filter'>")
builtins.float(x=0, /)
builtins.format(value, format_spec='', /)
ValueError("no signature found for builtin type <class 'frozenset'>")
builtins.get_ipython()
ValueError('<built-in function getattr> builtin has invalid signature')
builtins.globals()
builtins.hasattr(obj, name, /)
builtins.hash(obj, /)
builtins.help(*args, **kwds)
builtins.hex(number, /)
builtins.id(obj, /)
builtins.input(prompt='')
ValueError("no signature found for builtin type <class 'int'>")
builtins.isinstance(obj, class_or_tuple, /)
builtins.issubclass(cls, class_or_tuple, /)
ValueError('<built-in function iter> builtin has invalid signature')
builtins.len(obj, /)
builtins.license()
builtins.list(iterable=(), /)
builtins.locals()
ValueError("no signature found for builtin type <class 'map'>")
ValueError('no signature found for builtin <built-in function max>')
builtins.memoryview(object)
ValueError('no signature found for builtin <built-in function min>')
ValueError('<built-in function next> builtin has invalid signature')
builtins.object()
builtins.oct(number, /)
builtins.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
builtins.ord(c, /)
builtins.pow(base, exp, mod=None)
builtins.print(*args, sep=' ', end='\n', file=None, flush=False)
builtins.property(fget=None, fset=None, fdel=None, doc=None)
ValueError("no signature found for builtin type <class 'range'>")
builtins.repr(obj, /)
builtins.reversed(sequence, /)
builtins.round(number, ndigits=None)
builtins.runfile(filename, args=None, wdir=None, namespace=None)
ValueError("no signature found for builtin type <class 'set'>")
builtins.setattr(obj, name, value, /)
ValueError("no signature found for builtin type <class 'slice'>")
builtins.sorted(iterable, /, *, key=None, reverse=False)
ValueError("no signature found for builtin type <class 'staticmethod'>")
ValueError("no signature found for builtin type <class 'str'>")
builtins.sum(iterable, /, start=0)
ValueError("no signature found for builtin type <class 'super'>")
builtins.tuple(iterable=(), /)
ValueError("no signature found for builtin <class 'type'>")
ValueError('<built-in function vars> builtin has invalid signature')
ValueError("no signature found for builtin type <class 'zip'>")

CPython versions tested on:

3.12

Operating systems tested on:

Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions