Repolode
PyCQA

PyCQA/flake8-import-order

一个 flake8 和 Pylama 插件,用于检查 Python 导入语句的分组与排序是否符合指定的风格规范。

Star
279
Fork
72
未关闭 Issue
15
最近提交
4天前

这是什么?

flake8-import-order 是一个 flake8 和 Pylama 插件,只检查 Python 导入语句的分组与排序,不处理导入的其他方面。通常标准库在前,其次是第三方包,再是本地包,每组内部按字母排序,具体规则取决于所选风格。

插件新增四类警告:I100 和 I101 分别针对导入顺序错误和 from 导入中的名称顺序错误,I201 和 I202 分别针对分组之间缺少或多余的空行。内置 cryptography(默认)、google、smarkets、appnexus、edited、pycharm 和 pep8 等风格,其中 pep8 只约束分组而不约束组内顺序。可通过配置项声明本地应用名和公司内部包名。

用户还可以继承 Style 类实现自定义风格,并通过 setuptools 的 entry points 机制注册。

核心功能

  • 01为 flake8 和 Pylama 检查导入的分组与排序。
  • 02提供四类警告码,覆盖顺序和空行问题。
  • 03内置 cryptography、google、smarkets、pep8 等多种风格。
  • 04可配置项目的本地应用名和公司内部包名。
  • 05支持通过继承和 entry points 添加自定义风格。

适用场景

  • 在 CI 中统一整个 Python 代码库的导入格式。
  • 让代码符合团队采用的导入规范,如 Google 风格或项目自定义约定。
  • 在现有 flake8 检查流程中加入导入顺序检测。

使用前须知

  • 采用 LGPL-3.0 许可证,这是一种对再分发有条件要求的 Copyleft 许可证。
  • 仅检查模块作用域的导入;除 TYPE_CHECKING 块外,条件导入会被忽略。
  • 排序检查仅比较相邻的导入,因此部分顺序错误的导入可能不会被报告。

收录于专题

标签

#python#linter#flake8#code-style#static-analysis#flake8-extensions#linter-flake8#linter-plugin#pylama

常见问题

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 最近一次提交是在 2026年11月3日。
flake8-import-order 适合用来做什么?
在 CI 中统一整个 Python 代码库的导入格式。 让代码符合团队采用的导入规范,如 Google 风格或项目自定义约定。 在现有 flake8 检查流程中加入导入顺序检测。
在哪里获取 flake8-import-order?
源代码和安装说明在 GitHub 上:https://github.com/PyCQA/flake8-import-order

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目