[tool.ruff] # https://docs.astral.sh/ruff/settings/ target-version = "py312" fix = true unsafe-fixes = true preview = true lint.select = ["ALL"] line-length = 119 lint.pydocstyle.convention = "google" lint.ignore = [ "CPY001", # Missing copyright notice at top of file "D100", # Checks for undocumented public module definitions. "D101", # Checks for undocumented public class definitions. "D102", # Checks for undocumented public method definitions. "D104", # Missing docstring in public package. "D105", # Missing docstring in magic method. "D106", # Checks for undocumented public class definitions, for nested classes. "ERA001", # Found commented-out code "FIX002", # Line contains TODO "COM812", # Checks for the absence of trailing commas. "ISC001", # Checks for implicitly concatenated strings on a single line. "DJ001", # Checks nullable string-based fields (like CharField and TextField) in Django models. ] [tool.ruff.lint.per-file-ignores] "**/tests/**" = [ "ARG", # Unused function args -> fixtures nevertheless are functionally relevant... "FBT", # Don't care about booleans as positional arguments in tests, e.g. via @pytest.mark.parametrize() "PLR2004", # Magic value used in comparison, ... "S101", # asserts allowed in tests... "S311", # Standard pseudo-random generators are not suitable for cryptographic purposes ] "**/migrations/**" = [ "RUF012", # Checks for mutable default values in class attributes. ] [tool.djlint] profile = "django" format_attribute_template_tags = true ignore = "H006" # Img tag should have height and width attributes. [tool.pytest.ini_options] DJANGO_SETTINGS_MODULE = "config.settings" python_files = ["test_*.py"]