diff --git a/ruff.toml b/ruff.toml index 38207b601..72b8a8200 100644 --- a/ruff.toml +++ b/ruff.toml @@ -1,16 +1,58 @@ +# Ruff configuration +#################### + exclude = [ - "netbox/project-static/**" + ".eggs", + ".git", + ".pyenv", + ".pytest_cache", + ".ruff_cache", + ".venv", + ".vscode", + "__pypackages__", + "_build", + "build", + "dist", + "netbox/project-static/**", + "node_modules", + "site-packages", + "venv", ] + +# Enforce line length and indent-width line-length = 120 +indent-width = 4 + +# Ignores anything in .gitignore +respect-gitignore = true + +# Always generate Python 3.12-compatible code target-version = "py312" [lint] -extend-select = ["E1", "E2", "E3", "E501", "W"] -ignore = ["F403", "F405"] +extend-select = [ + "E1", # pycodestyle errors: indentation-related (e.g., unexpected/missing indent) + "E2", # pycodestyle errors: whitespace-related (e.g., missing whitespace, extra spaces) + "E3", # pycodestyle errors: blank lines / spacing around definitions + "E501", # pycodestyle: line too long (enforced with `line-length` above) + "W", # pycodestyle warnings (various style warnings, often whitespace/newlines) +] +ignore = [ + "F403", # pyflakes: `from ... import *` used; unable to detect undefined names + "F405", # pyflakes: name may be undefined or defined from star imports + "UP032", # pyupgrade: prefer f-strings over `str.format(...)` +] preview = true [lint.per-file-ignores] "template_code.py" = ["E501"] [format] +# Use single quotes for strings. quote-style = "single" + +# Indent with spaces, rather than tabs. +indent-style = "space" + +# Enforce UNIX line ending +line-ending = "lf"