[project] name = "zyrarbot" version = "4.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"]