>>> import math, inspect
>>> inspect.signature(math.log)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/remi/src/cpython/Lib/inspect.py", line 3081, in signature
return Signature.from_callable(obj, follow_wrapped=follow_wrapped)
File "/Users/remi/src/cpython/Lib/inspect.py", line 2830, in from_callable
return _signature_from_callable(obj, sigcls=cls,
File "/Users/remi/src/cpython/Lib/inspect.py", line 2284, in _signature_from_callable
return _signature_from_builtin(sigcls, obj,
File "/Users/remi/src/cpython/Lib/inspect.py", line 2109, in _signature_from_builtin
raise ValueError("no signature found for builtin {!r}".format(func))
ValueError: no signature found for builtin <built-in function log>
>>>
This is the only function from math to do so, it may be related to issue 29299 but the patch from Victor Stinner does not fix this.
It's the only function with an optional argument in math, on 3.7 all such function result in ValueError, e.g. getattr, iter, max.