after PEP 570, there is a syntax to specify positional-only parameters in the function definition. Unfortunately, most stdlib modules ignore this (the os module seems to be an exception). The math module is an example. While
>>> inspect.signature(math.ceil)
<Signature (x, /)>
the module docs display the function signature as math.ceil(x), that is wrong:
>>> math.ceil(x=3.14)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: math.ceil() takes no keyword arguments
Linked PRs
after PEP 570, there is a syntax to specify positional-only parameters in the function definition. Unfortunately, most stdlib modules ignore this (the os module seems to be an exception). The math module is an example. While
the module docs display the function signature as
math.ceil(x), that is wrong:Linked PRs