ruff-pre-commit
这是一个用于Ruff的pre-commit钩子。
作为独立仓库分发,以便通过PyPI的预构建轮子安装Ruff。
在pre-commit中使用Ruff
要通过pre-commit运行Ruff的linter和formatter(自Ruff v0.0.289起可用),请在您的.pre-commit-config.yaml
中添加以下内容:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff版本
rev: v0.6.1
hooks:
# 运行linter
- id: ruff
# 运行formatter
- id: ruff-format
要启用lint修复,请在lint钩子中添加--fix
参数:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff版本
rev: v0.6.1
hooks:
# 运行linter
- id: ruff
args: [ --fix ]
# 运行formatter
- id: ruff-format
要避免在Jupyter Notebooks上运行,请从允许的文件类型列表中移除jupyter
:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff版本
rev: v0.6.1
hooks:
# 运行linter
- id: ruff
types_or: [ python, pyi ]
args: [ --fix ]
# 运行formatter
- id: ruff-format
types_or: [ python, pyi ]
当使用--fix
运行时,Ruff的lint钩子应放置在Ruff的formatter钩子之前,并且在Black、isort和其他格式化工具之前,因为Ruff的修复行为可能会输出需要重新格式化的代码更改。
当不使用--fix
运行时,Ruff的formatter钩子可以放在Ruff的lint钩子之前或之后。
(只要您的Ruff配置避免了任何linter-formatter不兼容性,ruff format
就不应引入新的lint错误,因此在ruff check --fix
之后运行Ruff的format钩子是安全的。)
许可证
ruff-pre-commit采用以下两种许可证之一:
- Apache License, Version 2.0,(LICENSE-APACHE或https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或https://opensource.org/licenses/MIT)
您可以选择其中之一。
除非您明确说明,否则您有意提交以包含在ruff-pre-commit中的任何贡献,按照Apache-2.0许可证的定义,都将按上述方式双重许可,没有任何附加条款或条件。