flake8包装器,仅对修改/暂存代码运行
项目描述
flake8-staged-diff
运行flake8,但仅在暂存文件(使用git diff --staged
标识)上报告发现。此工具主要用于通过pre-commit集成,但也提供命令行界面。
它是如何工作的?
此工具首先运行git diff -U0 --staged --
,识别已修改的文件和行,然后对整个文件运行flake8,并简单地过滤掉所有非修改代码的发现。
如果没有文件在git中暂存,它将立即返回
pre-commit集成
一个示例.pre-commit-config.yaml
repos:
- repo: https://github.com/bagerard/flake8-staged-diff
rev: '' # Use the sha / tag you want to point at
hooks:
- id: flake8-staged-diff
注意: 这将仅影响本地使用pre-commit,通常通过
git commit
。当它通过pre-commit run -a
在Github管道中运行时,将没有暂存的文件,工具将简单地通过。
命令行界面使用
界面与flake8相同,例如。
flake8-staged-diff file1.py file2.py --select=E501
理由
此工具允许在大型/遗留代码库中仅对更新或插入的代码引入一些flake8规则。
我们在工作中使用此工具强制使用以下配置对修改的代码执行类型注解
- repo: https://github.com/bagerard/flake8-staged-diff
rev: '' # Use the sha / tag you want to point at
hooks:
- id: flake8-staged-diff
args:
- "--select=AN"
additional_dependencies:
- flake8-annotations
考虑因素
请谨慎使用此工具,并非每个flake8规则都适合此工具。实际上,有时修改一行代码可能会在文件的其他部分引入错误,但由于这些部分不在diff中,因此它们不会通过此工具显示。请确保审查此处的pre-commit / Flake8维护者评论。
项目详情
下载文件
下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分布
flake8-staged-diff-0.3.0.tar.gz (4.2 kB 查看哈希)
构建分布
关闭
flake8-staged-diff-0.3.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 035dc628315d06bb61438149f600f7b380afae46ddc85fa3b6db6e3896a35d71 |
|
MD5 | 70c82e869f8e171c883363b832413771 |
|
BLAKE2b-256 | 4d5fd99b1a74d4d8ef8bb1e5a7662eb00173b8436c1b6236e987fd2a84741c28 |
关闭
flake8_staged_diff-0.3.0-py2.py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90f58e400f74ddfcd73a1f4f037ffae0e7516d922b03334eac8ac90e2077bbc4 |
|
MD5 | 40293f224bf730d3ead5f00edefdf231 |
|
BLAKE2b-256 | cb6865c1e9210e51cdb4a87766b8eda943a08e4771a65149ea17447e4f38ea1e |