又一个 Linter 聚合器
项目描述
YALA 结合了许多 linter 来提高代码的质量。您可能会想到其他项目,但有人拥有以下所有功能吗?
- 适用于最新的 linter
Yala 使用 linter 的输出,并且在其 API 更改时不会中断。
- 相同的默认值
对 linter 的默认配置没有更改。
- 易于配置
在 setup.cfg 中为任何 linter(甚至 pylint!)设置任何命令行选项。
- 快速地
并行运行 linter。
当前状态
目前支持的 Python 工具:
安装
使用 Python >= 3.6 测试。您可以指定多个用逗号分隔的 linter:
yala安装 isort、pycodestyle 和 pylint(最小安装);
yala[all]添加了mypy、pydocstyle、pyflakes和radon;
yala[all,flake8]还添加flake8;
# Minimal: isort, pycodestyle and pylint
sudo pip3 install --upgrade yala
# OR (almost) all supported linters
sudo pip3 install --upgrade yala[all]
# OR choose your linters (+isort, pycodestyle and pylint)
sudo pip3 install --upgrade yala[mypy,radon]
如果您愿意破解 yala 的代码,请在此 README 文件夹中运行以下命令:
# Use pip
sudo pip3 install --editable .[all,dev]
# OR pipenv
pipenv sync --dev
用法
只需调用yala,然后调用要 lint 的文件和/或文件夹。
配置
除了每个 linter 的标准配置文件(如其文档中所示)外,您还可以使用 yala 在setup.cfg中指定任何命令行选项。
在setup.cfg中为linter编写命令行参数对pylint特别有用,因为它忽略setup.cfg并要求您编写额外的文件。现在,您不必这样做。
默认配置文件位于yala/setup.cfg中。您可以将其复制到项目的根文件夹并对其进行自定义。如果您需要对嵌套目录进行其他配置,只需在那里创建另一个文件。
短绒的选项
例如,要禁用特定的 pylint 警告并为氡可维护性指数输出等级 C 和更低(默认为 D 或更差),请将以下内容添加到setup.cfg:
[yala]
pylint args = <s>--disable=TODO</s>
radon mi args = <s>--min C</s>
除了pylint ,您还可以为isort、pycodestyle、pydocstyle等定义 CLI 选项(名称与命令行中的名称完全相同)。
选择短绒
默认情况下启用所有支持和安装的 linter。
您可以通过以下任一方式自定义 setup.cfg 中的linter:
[yala]
linters = <s>isort, pycodestyle</s>
或者
[yala]
linters =
isort
pycodestyle
甚至两者兼而有之:多行中的多个 linter。
例子
运行 pydocstyle 和 pylint 而不会出现缺少文档字符串的错误(除了默认安装的 isort、pycodestyle 和 pylint):
pip install --upgrade yala[pydocstyle]
[pydocstyle]
add-ignore = <s>D1</s>
[yala]
pylint args = <s>--disable=C0114,C0115,C0116</s>
如果您将黑色与isort、pycodestyle和flake8一起使用,请确保设置不会冲突的选项,例如:
[isort]
profile=<s>black</s>
[pycodestyle]
max-line-length = <s>88</s>
[flake8]
max-line-length = <s>88</s>
黑客:添加一个 linter
检查文件yala/linters.py并随时寻求帮助。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。