跳至主要内容

为flake8提供更强大的配置。

项目描述

flake8-ruler

CLI工具,用于从更优雅、现代、更强大的flake8 (setup.cfg) 配置文件生成flakehell(与100%兼容)的配置文件(pyproject.toml)。

功能

  • TOML:类型安全的、语法高亮的、标准化良好的配置格式。
  • 强大的插件代码配置。
  • 全局模式。
  • 扩展和合并多个配置,共享配置。
  • 远程配置。
  • 预定义的针对错误、安全、风格指南的配置。

入门

安装

python3 -m pip install flake8-ruler

创建pyproject.toml

# you can add in this section any options supported by flake8
[tool.flake8_ruler]
max_line_length = 90

[tool.flake8_ruler.plugins]
# include everything in pyflakes except F401
pyflakes = ["+*", "-F401"]
# enable only codes from S100 to S199
flake8-bandit = ["-*", "+S1??"]
# enable everything that starts from `flake8-`
"flake8-*" = ["+*"]
# explicitly disable a plugin
flake8-docstrings = ["-*"]

pyproject.toml转换为setup.cfg

python3 -m flake8_ruler

完成!现在,您只需运行flake8,它将自动使用新生成的配置。

插件

pyproject.toml中,您可以指定[tool.flake8_ruler.plugins]表。它是flake8插件及其相关规则的键值对。

键可以是确切的插件名称或通配符模板。例如"flake8-commas""flake8-*"。如果可能,工具将为每个插件选择最长匹配。在前面的示例中,flake8-commas将匹配第一个模式,flake8-banditflake8-bugbear将匹配第二个模式,而pycodestyle将不会匹配任何模式。

值是一个用于此插件的错误代码模板列表。每个模板中的第一个符号必须是+(包含)或-(排除)。匹配的最新模式获胜。例如,["+*", "-F*", "-E30?", "-E401"]表示“包含所有内容,除了所有以F开头的检查,检查从E301E310以及E401”。

代码

只有当以下条件匹配时,错误代码才会添加到生成的setup.cfg

  1. 插件安装在与flake8-ruler相同的环境中。
  2. 代码由flake8-codes检测。如果没有,请贡献。
  3. 代码在[tool.flake8_ruler.plugins]中启用。

使用flake8-codes查找插件支持的错误代码

python3 -m pip install flake8-codes
python3 -m flake8_codes

继承

选项base允许指定要继承此配置的基本配置。它可以是本地配置的路径或远程URL。您可以指定一个路径或路径列表。例如

base = [
    "https://raw.githubusercontent.com/orsinium-labs/flake8-ruler/master/pyproject.toml",
    ".flake8-ruler.toml",
]
max_line_length = 90

在这个例子中,flake8-ruler将读取远程配置、本地配置(.flake8-ruler.toml)以及当前配置。因此,即使基本配置中指定了max_line_length,它也将被当前配置中的max_line_length = 90覆盖。

您可以在./configs/目录中找到一些预定义的配置。

资源

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

flake8_ruler-0.1.0.tar.gz (11.4 kB 查看哈希值

上传时间:

构建分发

flake8_ruler-0.1.0-py3-none-any.whl (8.2 kB 查看哈希值

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面