5afb18b745
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
42 lines
1.4 KiB
TOML
42 lines
1.4 KiB
TOML
# Ruff configuration for Nexus
|
||
# Docs: https://docs.astral.sh/ruff/
|
||
#
|
||
# 策略:只拦真正的BUG和安全问题,不强制代码风格升级
|
||
# 存量代码不改,新增代码必须通过
|
||
|
||
target-version = "py310"
|
||
line-length = 120
|
||
|
||
[lint]
|
||
# 核心:只选真正影响正确性和安全的规则
|
||
select = [
|
||
"F", # pyflakes — 未定义名称、未使用导入(真正的BUG)
|
||
"S", # flake8-bandit — 安全问题
|
||
"B", # flake8-bugbear — 常见BUG模式
|
||
]
|
||
|
||
# 不选的规则(留给以后渐进式启用):
|
||
# "E" — pycodestyle 风格(缩进、空格等,不影响正确性)
|
||
# "UP" — pyupgrade(Optional→X|None 等,风格升级,存量太多)
|
||
# "I" — isort(导入排序,风格问题)
|
||
# "W" — pycodestyle warnings(风格)
|
||
|
||
ignore = [
|
||
"S101", # assert used (fine in tests)
|
||
"S104", # hardcoded bind all interfaces (0.0.0.0 is intentional)
|
||
"S108", # /tmp usage
|
||
"S603", # subprocess call (we validate inputs with shlex.quote)
|
||
"S607", # subprocess with partial path
|
||
"S311", # random module (not crypto)
|
||
"B008", # function call in default argument (FastAPI Depends pattern)
|
||
"B905", # zip without strict (Python 3.10+)
|
||
"B006", # mutable default args (FastAPI pattern)
|
||
]
|
||
|
||
[lint.per-file-ignores]
|
||
"tests/*.py" = ["S101", "S106"] # assert + hardcoded password in tests
|
||
|
||
[format]
|
||
quote-style = "double"
|
||
indent-style = "space"
|