Files
zyrarbot/pyproject.toml

49 lines
1.3 KiB
TOML

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