跳转到主要内容

最佳实践Python代码格式化器

项目描述

brunette

🟤 最佳实践Python代码格式化器

PyPI version

这是"black"格式化器的改进版本

  1. --config选项支持setup.cfg格式。
    • single-quotes选项启用时,将单引号作为首选。
  2. --single-quotes选项使单引号成为首选。

安装

pip install brunette

使用

与'black'格式化器相同的方式使用。

brunette **/*.py
brunette *.py --config=setup.cfg
brunette *.py --line-length=79 --single-quotes

示例setup.cfg

[tool:brunette]
line-length = 79
verbose = true
single-quotes = false
# etc, etc...

这也可以与Flake8的配置相结合

[flake8]
# This section configures `flake8`, the python linting utility.
# See also https://flake8.pycqa.org/en/latest/user/configuration.html
ignore = E201,E202,E203
# E201 - whitespace after ‘(‘
# E202 - whitespace before ‘)’
# E203 - whitespace before ‘:’

# Exclude the git directory and virtualenv directory (as `.env`)
exclude = .git,.env

[tool:brunette]
line-length = 79
# etc, etc...

为什么需要存在这个项目?

  • Black的当前维护者拒绝添加单引号选项。由于他个人的偏好(这种偏好与大多数Python社区不共享)。

  • Black的当前维护者拒绝添加setup.cfg支持。setup.cfg是Python项目最广泛使用的配置文件。该库的维护者更喜欢不灵活且要求使用Poetry的"pyproject.toml",而目前很少有人使用。

  • Black采用的当前配置文件格式可能与pip的新的构建隔离上下文冲突。为了避免这种情况,建议使用setup.cfg文件,但该政策正在由维护者审查(https://github.com/pypa/pip/issues/8437#issuecomment-644196428)。

如何在VSCode中配置

  1. 获取brunette安装的完整路径。在终端中输入
  • which brunette (Linux)
  • where brunette (Windows)

在我的情况下,这看起来像 /home/work/.pyenv/shims/brunette。在Windows上,它更像 C:\Python39\Scripts\brunette.exe。现在复制这个值。

  1. 打开 设置 UI。

  2. 搜索 black

  • 将此路径粘贴到 Black Path 中。
  • black 设置为 Python 格式化提供者。
  • 将您喜欢的 --single-quotes 参数添加到 Black Args 中。

https://i.imgur.com/6EXoamM.png

  1. 这就完成了!现在每次您 格式化 Python 代码 时,都会使用 brunette。

如何使用 Pre-Commit 配置

  1. 运行 pip install pre-commit 以安装

  2. .pre-commit-config.yaml 中添加 brunnet 的本地仓库选项

# See https://pre-commit.git-scm.cn for more information
# See https://pre-commit.git-scm.cn/hooks.html for more hooks
repos:
  - repo: https://github.com/odwyersoftware/brunette
    rev: 0.2.7
    hooks:
      - id: brunette
  # Drop-in replacement for black with brunette
  # - repo: https://github.com/psf/black
  #   rev: stable
  #   hooks:
  #     - id: black
  #       language_version: python3.6
  - repo: https://gitlab.com/pycqa/flake8
    rev: 3.8.1
    hooks:
      - id: flake8
  1. 运行 pre-commit install 以安装 Git 预提交钩子

  2. 运行 pre-commit run 以验证所有文件

版本发布历史

0.2.8 (2022-11-07)

  • 修复 setup.py 描述。

0.2.7 (2022-05-30)

  • 将 black 版本修复为 black==21.12b0,更高版本不工作。

0.2.6 (2022-05-26)

  • 将 black 版本修复为 black<22.0.0,更高版本不工作。

0.2.5 (2022-03-30)

  • 针对 black 版本 22.1.0+ 的修复。

0.2.4 (2022-03-09)

  • 针对 black 的破坏性更改 black.find_project_root 的修复。

0.2.3 (2022-03-01)

  • 错误修复,要求 black>=21.5b1

0.2.2 (2021-10-26)

  • 错误修复,支持 "black" 版本 >=21。

0.2.1 (2021-10-01)

  • 放宽对 "black" 版本的依赖性。

0.2.0 (2020-12-18)

  • 添加 --single-quotes CLI 选项。

0.1.9 (2020-12-16)

  • 错误修复,将 black 版本修复为 black==20.8b1。

0.1.8 (2020-12-16)

  • 修复单引号格式化不工作的问题。

0.1.7 (2020-06-26)

  • 修复读取配置文件时多个选项变量的问题。
  • 从 black 更新 normalize_string_quotes

0.1.6 (2020-06-26)

  • 文档更新。

0.1.5 (2020-06-18)

  • 文档更新。

0.1.4 (2020-06-16)

  • 处理缺少 setup.cfg 的情况。

0.1.3 (2020-06-16)

  • 处理缺少 setup.cfg 的情况。

0.1.2 (2020-06-16)

  • 为 CLI 执行添加 __main__

0.1.1 (2020-06-15)

  • 添加 wheels。

0.1.0 (2020-06-15)

  • 首次发布。

项目详情


下载文件

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

源分布

brunette-0.2.8.tar.gz (11.3 kB 查看散列)

上传时间

构建分布

brunette-0.2.8-py2.py3-none-any.whl (8.8 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持

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