Replace black and flake8 with ruff for linting and formatting

- Remove .flake8; add [tool.ruff] and [tool.ruff.format] config in pyproject.toml
  (line-length 120, excludes, ignore list, per-file-ignores, mccabe complexity)
- Update GitHub workflow lint job to run `ruff check .` and `ruff format --check .`
- Swap black and flake8 for ruff in requirements.txt and Pipfile
- Change capnp/__init__.py to ruff-style noqa comment
- Move max-complexity into [tool.ruff.lint.mccabe], lint options into [tool.ruff.lint]
- Add per-file-ignores for capnp/__init__.py (F401, F403, F405), remove inline noqa
- Run ruff format across codebase (24 files) for consistent style
This commit is contained in:
Jacob Alexander
2026-02-25 17:24:24 -08:00
parent a27c849021
commit 162fddbcf6
30 changed files with 89 additions and 203 deletions

View File

@@ -5,3 +5,24 @@ backend-path = ["_custom_build"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
[tool.ruff]
target-version = "py37"
line-length = 120
exclude = ["benchmark", "build", "capnp/templates/module.pyx"]
[tool.ruff.lint]
ignore = [
"E203", "E211", "E225", "E226", "E227", "E231", "E251",
"E261", "E262", "E265", "E402",
]
[tool.ruff.lint.per-file-ignores]
"test/test_examples.py" = ["C901"]
"capnp/__init__.py" = ["F401", "F403", "F405"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.format]
quote-style = "double"