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 (mostrecentcalllast): File"<stdin>", line1, in<module>TypeError: math.ceil() takesnokeywordarguments
Linked PRs