又一个linter聚合器
yala的Python项目详细描述
yala结合了许多linter来提高代码的质量。其他项目可能会出现在你的脑海中,但是否有人有以下所有功能?
- 适用于最新的绒布
- yala使用linter的输出,当它们的api改变时不会中断。
- 相同的默认值
- 不更改linters的默认配置。
- 易于配置
- 为任何linter设置任何命令行选项(甚至pylint!)在setup.cfg中。
- 快速
- 并行运行linter。
当前状态
目前,支持的python linter有:isort、pylint、pycodesyle和pydocstyle。还有一个对mypy的可选支持:如果安装了mypy,它将被自动检测和使用。
安装
使用python>;=3.5进行测试。
sudo pip3 install --upgrade yala
如果您想破解yala的代码,请运行此自述文件文件夹中的以下命令:
sudo pip3 install --editable .[dev]
用法
只需调用yala,然后调用文件和/或文件夹来lint。
配置
除了每个linter的配置之外,您还可以在setup.cfg中指定其他选项。
可以在setup.cfg中为linter定义命令行参数,这对于pylint特别有用,后者忽略此文件并要求您只为自己编写一个额外的文件。
默认配置文件是yala/setup.cfg,您可以复制和自定义该文件。
如果需要,可以将此文件放在上层目录中,并在下层目录中覆盖它。
绒布选项
例如,要禁用特定的pylint警告和输出等级c及更低的radon维修性指数(默认值为d或更糟),请将以下内容添加到setup.cfg:
[yala]pylint args=--disable=TODO
除了pylint之外,您还可以为isort、pycodestyle和pydocstyle定义cli选项(名称与在命令行中调用的名称完全相同)。
选择绒布
默认的linter是:isort、pycodestyle、pydocstyle、pylint、radon(cc/mi)。 选项有:pyflakes和mypy(需要手动安装)。
您可以在setup.cfg中通过以下任一方式自定义绒布:
[yala]linters=isort, pycodestyle
或
[yala]linters= isort pycodestyle
或者两者兼而有之:在多条生产线中生产多条短绒。
黑客:添加一根短绒
检查文件yala/linters.py并随时寻求帮助。