Prhub

#30153 Remove `# fmt: off` from environ.py Envs class

原始 PR 作者 merrymercy 合并时间 2026-07-06 03:45 文件变更 1 提交数 3 评论 3 代码增减 +11 / -9

执行摘要

移除 Envs 类中 `# fmt: off` 让 black 格式化

Envs 类为了保持环境变量注册表紧凑的单行形式,使用了 # fmt: off 来禁用格式化。但副作用是 black 的其他规范化(如间距、换行)也被抑制。此 PR 移除该指令,让 black 统一格式化整个类。

低优先级 PR,内容简单但体现了良好的代码风格治理。值得关注的是长注释处理方式:当 inline-comment 导致折行时,改为 block comment 是更好的做法。

讨论亮点

gemini-code-assist[bot] 指出,移除 # fmt: off 后,SGLANG_EMPTY_CACHE_INTERVALSGLANG_WARMUP_TIMEOUT 的长内联注释导致 black 将 EnvFloat(-1) 折成多行,可读性差。建议将内联注释改为上方块注释,保持声明单行。作者按建议修改。

实现拆解

  1. 删除 Envs 类开头的 # fmt: off 和结尾的 # fmt: on 指令(仅改 python/sglang/srt/environ.py)。
  2. 运行 black 格式化,自动修正运算符间距(2 **312**31)、内联注释间距,并对超长行进行换行(如 SGLANG_EMPTY_CACHE_INTERVALSGLANG_WARMUP_TIMEOUTSGLANG_DSA_FUSE_TOPK)。
  3. 根据 review 意见,将 SGLANG_EMPTY_CACHE_INTERVALSGLANG_WARMUP_TIMEOUT 的内联注释改为上方块注释,避免 EnvFloat(-1) 被折行。
  4. 删除多余的空行。无测试变更,因纯格式改动不影响功能。
文件 模块 状态 重要度
python/sglang/srt/environ.py 环境变量 modified 5.33

关键源码片段

python/sglang/srt/environ.py core-logic

唯一变更文件,移除 `# fmt: off` / `# fmt: on` 并规范化格式

class Envs:
    # 移除了 # fmt: off,现在由 black 管理格式
​
    # Model & File Download
    SGLANG_USE_MODELSCOPE = EnvBool(False)
    # Controls weight-file ordering for load-time I/O optimization.
    # -1 : no sorting, no staggering; preserves original file order.
    # 0 : sort files only; maximizes ordering but may reduce cross-rank I/O concurrency.
    # k>0: sort files and stagger per-rank order with factor k.
    # Files are processed in groups of (tp_size * k), and rank r starts each
    # group at offset (r * k), improving multi-rank I/O concurrency while
    # keeping access relatively ordered.
    SGLANG_SORT_WEIGHT_FILES = EnvInt(0)
    SGLANG_DISABLED_MODEL_ARCHS = EnvTuple(tuple())
    SGLANG_PREFETCH_BLOCK_SIZE_MB = EnvInt(16)
    SGLANG_GEMMA_OUT_OF_PLACE_POSITION_MUTATION = EnvBool(False)
​
    # ... ( 中间省略 ) ...
​
    # Scheduler: memory leak test
    SGLANG_TEST_RETRACT = EnvBool(False)
    SGLANG_TEST_RETRACT_INTERVAL = EnvInt(3)
    # 运算符间距已规范化:2**31 而非 2 ** 31
    SGLANG_TEST_RETRACT_NO_PREFILL_BS = EnvInt(2**31)
    SGLANG_TEST_MAMBA_LAZY_ALLOC_FAIL = EnvBool(False)
    SGLANG_TEST_SKIP_CACHE_HIT_ASSERT = EnvBool(False)
    SGLANG_ENABLE_STRICT_MEM_CHECK_DURING_BUSY = EnvInt(0)
    SGLANG_ENABLE_STRICT_MEM_CHECK_DURING_IDLE = EnvBool(True)
    SGLANG_CHECK_KV_PAGE_INVARIANTS = EnvBool(False)
​
    # ...
​
    # 将长 inline comment 改为 block comment,避免折行
    # in seconds. Set if you observe high memory accumulation over a long serving period.
    SGLANG_EMPTY_CACHE_INTERVAL = EnvFloat(-1)
​
    # ...
​
    # Deprecated 标记调整为 inline comment
    DEEP_NORMAL_MODE_USE_INT8_QUANT = EnvBool(False) # This argument is deprecated
    SGLANG_DEEPEP_BF16_DISPATCH = EnvBool(False) # This argument is deprecated
​
    # ...
​
    # 长声明自动换行,保持 88 字符限制
    SGLANG_DSA_FUSE_TOPK = EnvBoolWithAlias(
        True, deprecated_name="SGLANG_NSA_FUSE_TOPK"
    )

评论区精华

长内联注释导致折行,建议改为块注释 style

gemini-code-assist[bot] 指出:SGLANG_EMPTY_CACHE_INTERVAL 和 SGLANG_WARMUP_TIMEOUT 的长内联注释导致 black 将 EnvFloat(-1) 折成多行,可读性差,建议将注释移到变量声明上方。

结论:作者采纳建议,将两处长内联注释改为上方块注释。 · 已解决

风险与影响

无功能风险,仅格式化变更。但需确保 CI 中的 black 版本与本地一致,避免因 formatter 版本差异产生额外 diff。

影响范围仅限 python/sglang/srt/environ.py 文件,无功能影响。所有使用 Envs 类的代码不受影响。团队代码风格一致性得以提升,未来修改该文件时将自动应用 black 规范。

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论