CPython implementation detail: An implementation may provide built-in functions whose positional parameters do not have names, even if they are ‘named’ for the purpose of documentation, and which therefore cannot be supplied by keyword. In CPython, this is the case for functions implemented in C that use PyArg_ParseTuple() to parse their arguments.
It then seems an incompatibiliy between python anc CPython, should CPython be fixed instead ?
This should be relatively easy to fix and PRs are welcome, thank you for looking into this in detail (was reported before in #547).
The error here is partially on Kivy for calling __import__ directly instead of using importlib, and as you quoted we are kind-of allowed to make __import__ behave in this way.
Mid-term (hopefully in pythonnet 3), this should not be a problem anymore by implementing proper PEP302-style importing instead of overriding __import__.
Activity
SStarosielec commented on Oct 5, 2020
I'm not sure this section from https://docs.python.org/3/reference/expressions.html#calls applies (I don't understand all the lingo):
It then seems an incompatibiliy between python anc CPython, should CPython be fixed instead ?
filmor commented on Oct 5, 2020
This should be relatively easy to fix and PRs are welcome, thank you for looking into this in detail (was reported before in #547).
The error here is partially on Kivy for calling __import__ directly instead of using importlib, and as you quoted we are kind-of allowed to make __import__ behave in this way.
Mid-term (hopefully in pythonnet 3), this should not be a problem anymore by implementing proper PEP302-style importing instead of overriding __import__.