chore: konfiguracja ruff i poprawki wskazane przez lintera
Ruff jako linter i formatter, konfiguracja w pyproject.toml: - reguły E, W, F, I, N, UP, B, C4, SIM, TID, BLE, RUF - extend-immutable-calls dla fastapi.Depends, File i Query - wstrzykiwanie zależności opiera się na wywołaniach w wartościach domyślnych argumentów, więc bugbear B008 zgłaszał tam 66 fałszywych trafień - zakaz importów względnych, aby ścieżki w pakiecie czytało się jednoznacznie - katalog frontend wyłączony z analizy Poprawki, które wskazał linter: - Awaitable, Callable i AsyncIterator importowane z collections.abc zamiast z typing - zbędny argument trybu w open(path, "r") - contextlib.suppress zamiast try/except/pass przy anulowaniu zadania - zdjęte dwie niepotrzebne dyrektywy noqa - pięć linii przekraczających 100 znaków zawiniętych Całość przepuszczona przez ruff format. Do .gitignore dochodzi .ruff_cache/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ccfb0d2e34
commit
2a961e1a8a
12 files changed
+80
-30
No files matched your search
@@ -0,0 +1,48 @@
|
||||
[project]
|
||||
name = "zyrarbot"
|
||||
version = "2.0.0"
|
||||
description = "Bot muzyczny Discord z panelem webowym"
|
||||
requires-python = ">=3.13"
|
||||
dynamic = ["dependencies"]
|
||||
|
||||
[tool.setuptools.dynamic]
|
||||
dependencies = { file = ["requirements.txt"] }
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
include = ["zyrarbot*"]
|
||||
|
||||
[tool.ruff]
|
||||
target-version = "py313"
|
||||
line-length = 100
|
||||
extend-exclude = ["frontend"]
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = [
|
||||
"E", # pycodestyle - błędy
|
||||
"W", # pycodestyle - ostrzeżenia
|
||||
"F", # pyflakes
|
||||
"I", # isort - kolejność importów
|
||||
"N", # pep8-naming
|
||||
"UP", # pyupgrade
|
||||
"B", # bugbear
|
||||
"C4", # comprehensions
|
||||
"SIM", # uproszczenia
|
||||
"TID", # zakaz importów względnych
|
||||
"BLE", # przechwytywanie ogólnych wyjątków
|
||||
"RUF",
|
||||
]
|
||||
|
||||
[tool.ruff.lint.flake8-bugbear]
|
||||
# Wstrzykiwanie zależności w FastAPI opiera się na wywołaniach w wartościach
|
||||
# domyślnych argumentów - to idiom biblioteki, nie pomyłka.
|
||||
extend-immutable-calls = ["fastapi.Depends", "fastapi.File", "fastapi.Query"]
|
||||
|
||||
[tool.ruff.lint.flake8-tidy-imports]
|
||||
ban-relative-imports = "all"
|
||||
|
||||
[tool.ruff.lint.isort]
|
||||
known-first-party = ["zyrarbot", "tests"]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
# Testy sięgają po prywatne pola atrap i celowo łamią kilka konwencji.
|
||||
"tests/*" = ["SLF001"]
|
||||
Reference in new issue
Block a user