Да, это проблема, которую я пока не придумал как нормально решить. Вариант более-менее работающий — список исключений, передающийся через конфиг. Но это уже костыль, мне не нравится.
Можно зайти с другой стороны и сделать чекер, проверяющий не вызов функций, а их объявление на наличие keyword-only arguments (PEP-3102). Ну, вот такое —
def foo(*, bar, baz)
. Не уверен, что это сработает в стандартном ast-парсере, но в Astroid можно получить отдельно список обычных аргументов и отдельно keyword-only через FunctionDef.args.kwonlyargs
Можно зайти с другой стороны и сделать чекер, проверяющий не вызов функций, а их объявление на наличие keyword-only arguments (PEP-3102). Ну, вот такое — . Не уверен, что это сработает в стандартном ast-парсере, но в Astroid можно получить отдельно список обычных аргументов и отдельно keyword-only через FunctionDef.args.kwonlyargs
Было: youtube.com/watch? v=mdRd3k4CIAg
Стало: youtubemp4.com/watch? v=mdRd3k4CIAg
Вот:
http://www.picamatic.com/show/2008/08/02/04/736615_600x447.jpg