pyproject.toml
[build-system]
requires = [
"setuptools>=30.3.0",
]
[tool.ruff.per-file-ignores]
"ci/*" = ["S"]
[tool.ruff]
extend-exclude = ["static", "ci/templates"]
ignore = [
"RUF001", # ruff-specific rules ambiguous-unicode-character-string
"S101", # flake8-bandit assert
"S308", # flake8-bandit suspicious-mark-safe-usage
"E501", # pycodestyle line-too-long
"PT004",
"PT011",
"PT013",
"S603",
"S607",
]
line-length = 140
select = [
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez
"E", # pycodestyle errors
"EXE", # flake8-executable
"F", # pyflakes
"I", # isort
"INT", # flake8-gettext
"PIE", # flake8-pie
"PLC", # pylint convention
"PLE", # pylint errors
"PT", # flake8-pytest-style
# "PTH", # flake8-use-pathlib
"Q", # flake8-quotes
"RSE", # flake8-raise
"RUF", # ruff-specific rules
"S", # flake8-bandit
"UP", # pyupgrade
"W", # pycodestyle warnings
]
src = ["src", "tests"]
target-version = "py38"
[tool.ruff.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.isort]
forced-separate = ["conftest"]
force-single-line = true
[tool.black]
line-length = 140
target-version = ["py38"]
skip-string-normalization = true
[tool.ruff.flake8-quotes]
inline-quotes = "single"