Ruff not-is-test (E714)

not-is-test в Ruff проверяет сравнение идентичности объектов с использованием not {foo} is {bar}.

Почему это неправильно

Согласно PEP 8, проверка идентичности объекта с is not более читаема и понятна.

Пример ошибки

if not X is Y:
    pass
Z = not X.B is Y

Как правильно

if X is not Y:
    pass
Z = X.B is not Y