一个 flake8 插件,将 black 代码格式检查结果以 BLK 错误码形式输出到 flake8 中。
openstack/hacking
一组 flake8 插件,用于按照 OpenStack 代码风格指南检查 Python 代码。
- Star
- 243
- Fork
- 67
- 未关闭 Issue
- 0
- 最近提交
- 2个月前
这是什么?
Hacking 是一组 flake8 插件,用于检查 Python 代码是否符合 OpenStack 风格指南。它把原本需要评审人员手动检查的内容自动化,例如导入顺序、文档字符串规范,以及 OpenStack 社区认为有风险的写法,如遮蔽内置名称等。
检查项以 H 开头编号,可通过 PyPI 安装,并自动带上 flake8、pep8、mccabe 和 pyflakes 等依赖。依赖版本是固定的,上游发布新版本时不会悄悄加入导致现有门禁失败的规则。版本号遵循 major.minor.maintenance,维护版本不新增检查项,项目可以安全地锁定次版本号。
部分检查默认关闭,例如断言风格和 eventlet 导入相关的规则,可在 tox.ini 的 flake8 配置段中开启。项目也可以在 tox.ini 中注册本地自定义检查,并用 flake8 的扩展装饰器实现。
核心功能
- 01通过 flake8 插件执行 OpenStack Python 风格指南检查。
- 02可从 PyPI 安装,依赖版本固定,保证 CI 门禁稳定。
- 03维护版本不新增检查项,锁定次版本号即可安全升级。
- 04部分检查默认关闭,可在 tox.ini 中按需开启。
- 05支持在 tox.ini 中注册项目自定义的本地检查。
适用场景
- 在 OpenStack 项目的代码门禁中自动拦截风格问题,减少评审中的琐碎讨论。
- 在由多人维护的大型 Python 代码库中统一代码风格。
- 在标准 OpenStack 检查之外,添加项目专属的 lint 规则。
快速上手
- 1
从 PyPI 安装 hacking
pip install hacking
使用前须知
- hacking 固定了依赖版本,可能与环境中较新版本的 flake8 或插件产生冲突。
- 许多检查项是 OpenStack 专用的,且对其他项目默认关闭。
收录于专题
标签
常见问题
- hacking 是什么?
- 一组 flake8 插件,用于按照 OpenStack 代码风格指南检查 Python 代码。 Hacking 是一组 flake8 插件,用于检查 Python 代码是否符合 OpenStack 风格指南。它把原本需要评审人员手动检查的内容自动化,例如导入顺序、文档字符串规范,以及 OpenStack 社区认为有风险的写法,如遮蔽内置名称等。
- hacking 可以免费使用吗?用的什么许可证?
- hacking 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- hacking 还在维护吗?
- 半年内有更新。hacking 最近一次提交是在 2026年9月14日。
- hacking 适合用来做什么?
- 在 OpenStack 项目的代码门禁中自动拦截风格问题,减少评审中的琐碎讨论。 在由多人维护的大型 Python 代码库中统一代码风格。 在标准 OpenStack 检查之外,添加项目专属的 lint 规则。
- hacking 怎么安装和运行?
- 从 PyPI 安装 hacking: pip install hacking
- 在哪里获取 hacking?
- 源代码和安装说明在 GitHub 上:https://github.com/openstack/hacking
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Python 代码检查工具,将 PyFlakes、pycodestyle 和 McCabe 整合为单一命令。
一个命令行工具与 flake8 插件,用于在多个项目间统一配置文件中的设置,并可自动修正。
一个 flake8 和 Pylama 插件,用于检查 Python 导入语句的分组与排序是否符合指定的风格规范。
一款自动将 Python 文档字符串格式化为 PEP 257 规范的命令行工具。
为 ESLint 增加 300 多条额外规则,覆盖 JavaScript 与 TypeScript,部分规则还支持 CSS、HTML、JSON、Markdown 和 YAML。