Ruff constant-imported-as-non-constant (N811)
constant-imported-as-non-constant в Ruff проверяет импорт констант с алиасами, которые не соответствуют стилю именования констант.
Почему это неправильно
PEP 8 рекомендует определённые соглашения для именования классов, функций, констант и других сущностей. Использование алиасов с несовместимым стилем может ввести читателя в заблуждение (например, принять константу за класс или наоборот).
Алиасы импортируемых констант должны сохранять стиль именования исходного идентификатора.
Пример ошибки
from example import CONSTANT_VALUE as ConstantValue # Стиль алиаса не соответствует ALL_CAPS
Как правильно
from example import CONSTANT_VALUE # Использование оригинального имени
Примечание
Идентификаторы, состоящие из одной заглавной буквы, не проверяются этим правилом. Согласно PEP 8, такие имена могут относиться как к классам (CamelCase), так и к константам (ALL_CAPS_SNAKE_CASE), поскольку для одного символа оба стиля совпадают.
Например, класс Q в Django (django.db.models.Q) использует CamelCase, но технически может быть воспринят как константа из-за формата имени.