#python #black #http-client #code-formatter #cli #blackd

app blackd-client

使用 Black 闪电般的快速 Python 代码格式化

5 个版本

0.1.0 2023 年 5 月 22 日
0.0.6 2021 年 11 月 2 日
0.0.5 2021 年 11 月 1 日
0.0.4 2021 年 5 月 23 日
0.0.3 2021 年 5 月 14 日

#1775命令行实用程序

每月 45 次下载

GPL-3.0 许可证

30KB
227

blackd-client

Black (blackd) Python 代码格式器的微型 HTTP 客户端

Black 是一个出色的、具有偏见的 Python 格式化工具。然而,当使用格式化保存的编辑器集成时,它可能相当慢,因为每次调用它都会重新启动进程。

幸运的是,有 blackd,这是一个小的 HTTP 服务器,可以在后台保持 Black 进程运行,因此可以直接调用,无需漫长的启动时间。

blackd-client 是一个简单的辅助工具,提供单个可执行文件与 Black 通信,主要是我学习 Rust 的用途。

如果您正在使用 Black(或编写 Python 代码),我建议您检查它!

安装

  1. 安装 Black
pip install black

或使用 macOS 上的 Homebrew(首选)

brew install black
  1. 安装 blackd-client

或者如果您已安装 Rust 工具链

cargo install blackd-client
  1. 启动 blackd 守护程序
blackd

或使用 macOS 上的 Homebrew 作为 launchd 服务(首选)

sudo brew services start black

用法

将文件内容管道到 stdin,例如

cat main.py | blackd-client

使用 Black 格式化输出 ✨

基准比较

正常 black --fast

 hyperfine 'cat subclean/core/parser.py | black --fast -'
  Time (mean ± σ):     296.8 ms ±  41.3 ms    [User: 228.7 ms, System: 51.1 ms]
  Range (min … max):   260.7 ms … 403.6 ms    10 runs

使用 blackd-client

 hyperfine 'cat subclean/core/parser.py | blackd-client'
  Time (mean ± σ):      23.7 ms ±   3.7 ms    [User: 2.7 ms, System: 4.8 ms]
  Range (min … max):    19.2 ms …  35.7 ms    84 runs

结果:blackd 比快 10 倍!🚀

Neovim 集成

可以使用通用语言服务器完成 Neovim 的编辑器集成。有两个选项可供选择

  1. null-ls(我使用)

  2. EFM

依赖关系

~285KB