Плагин для Flake8, который находит вероятные баги и сомнительные шаблоны проектирования, не проверяемые pyflakes и pycodestyle.
PyCQA/flake8-import-order
Плагин для flake8 и Pylama, который проверяет группировку и порядок импортов Python по выбранному стилю.
- Звёзды
- 279
- Форки
- 72
- Открытые issues
- 15
- Последний коммит
- 4 дня назад
Что это?
flake8-import-order — плагин-линтер для flake8 и Pylama, который проверяет только группировку и порядок операторов импорта в Python. Другие аспекты импортов он не проверяет. Сначала идут импорты стандартной библиотеки, затем сторонних пакетов, а после них — локальных; внутри каждой группы импорты располагаются по алфавиту, хотя точные правила зависят от выбранного стиля.
Плагин добавляет четыре предупреждения: I100 и I101 — для импортов, расположенных не в том порядке, и имён в from-import, расположенных не в том порядке; I201 и I202 — для отсутствующих или лишних пустых строк между группами импортов. В комплект входят несколько встроенных стилей: cryptography (по умолчанию), google, smarkets, appnexus, edited, pycharm и pep8, который требует группировки, но не задаёт порядок внутри групп. Проекты могут указать имена своих приложений и пакетов с помощью параметров конфигурации.
Пользовательские стили можно добавлять, наследуясь от класса Style и регистрируя их через entry points setuptools.
Ключевые возможности
- 01Проверяет группировку и порядок импортов для flake8 и Pylama.
- 02Предоставляет четыре кода предупреждений для проблем с порядком импортов и пустыми строками.
- 03Включает встроенные стили, например cryptography, google, smarkets и pep8.
- 04Позволяет проектам настраивать имена локальных приложений и пакетов.
- 05Поддерживает пользовательские стили через наследование и entry points.
Сценарии использования
- Поддержание единообразного оформления импортов в кодовой базе Python при проверках в CI.
- Приведение импортов к стилевому руководству команды, например Google, или соглашениям конкретного проекта.
- Добавление проверок порядка импортов в существующую конфигурацию линтинга flake8.
Что важно знать
- Распространяется по лицензии LGPL-3.0 — лицензии с авторским левом, которая устанавливает условия повторного распространения.
- Проверяются только импорты на уровне модуля; условные импорты игнорируются, за исключением находящихся под TYPE_CHECKING.
- Порядок проверяется только для соседних импортов, поэтому некоторые импорты, расположенные не по порядку, могут остаться незамеченными.
В подборках
Темы
Частые вопросы
- Что такое flake8-import-order?
- Плагин для flake8 и Pylama, который проверяет группировку и порядок импортов Python по выбранному стилю. flake8-import-order — плагин-линтер для flake8 и Pylama, который проверяет только группировку и порядок операторов импорта в Python. Другие аспекты импортов он не проверяет. Сначала идут импорты стандартной библиотеки, затем сторонних пакетов, а после них — локальных; внутри каждой группы импорты располагаются по алфавиту, хотя точные правила зависят от выбранного стиля.
- flake8-import-order можно использовать бесплатно? Какая у него лицензия?
- flake8-import-order распространяется с открытым исходным кодом под лицензией LGPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- flake8-import-order всё ещё поддерживается?
- Активно поддерживается. Последний коммит в flake8-import-order — 3 нояб. 2026 г..
- Для чего можно использовать flake8-import-order?
- Поддержание единообразного оформления импортов в кодовой базе Python при проверках в CI. Приведение импортов к стилевому руководству команды, например Google, или соглашениям конкретного проекта. Добавление проверок порядка импортов в существующую конфигурацию линтинга flake8.
- Где скачать flake8-import-order?
- Исходный код и инструкции по установке — на GitHub: https://github.com/PyCQA/flake8-import-order
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Линтер Python, объединяющий PyFlakes, pycodestyle и McCabe в одной команде и поддерживающий сторонние плагины.
Однофайловый анализатор Python, который проверяет соответствие кода стилю PEP 8 и использует только стандартную библиотеку.
Инструмент для Python, который вычисляет цикломатическую сложность Маккейба функций и отмечает слишком сложный код как плагин flake8.
Плагин для flake8, который находит Python-код, который можно упростить: например, объединить вызовы isinstance или заменить блоки if тернарными выражениями.
Консольная утилита и плагин для flake8, которые проверяют единообразие настроек в нескольких проектах и автоматически исправляют конфиги.