Ruff unsupported-method-call-on-all (PYI056)

unsupported-method-call-on-all в Ruff проверяет код на предупреждение PYI056. Правило относится к группе flake8-pyi.

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

Файлы заглушек должны точно и компактно описывать интерфейс, иначе типизаторы будут давать неверные подсказки.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила unsupported-method-call-on-all и пример ниже.

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

import sys

__all__ = ["A", "B"]

if sys.version_info >= (3, 10):
    __all__.append("C")

if sys.version_info >= (3, 11):
    __all__.remove("B")

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

import sys

__all__ = ["A"]

if sys.version_info < (3, 11):
    __all__ += ["B"]

if sys.version_info >= (3, 10):
    __all__ += ["C"]

Автоисправление

Ruff не предлагает автоисправление для этого правила.