| 1 | [tool.ruff] |
| 2 | line-length = 88 |
| 3 | target-version = "py312" |
| 4 | |
| 5 | lint.select = ["ALL"] |
| 6 | |
| 7 | lint.ignore = [ |
| 8 | # pydocstyle |
| 9 | "D", |
| 10 | # todo comments |
| 11 | "TD", |
| 12 | # fixmes |
| 13 | "FIX", |
| 14 | |
| 15 | # Unused function argument |
| 16 | "ARG001", |
| 17 | |
| 18 | ## breaks with nix-shell |
| 19 | # Shebang should be at the beginning of the file |
| 20 | "EXE005", |
| 21 | "EXE003", |
| 22 | "EXE001", |
| 23 | |
| 24 | # Missing type annotation for `self` in method |
| 25 | "ANN101", |
| 26 | # Dynamically typed expressions (typing.Any) |
| 27 | "ANN401", |
| 28 | # Trailing comma missing |
| 29 | "COM812", |
| 30 | # Unnecessary `dict` call (rewrite as a literal) |
| 31 | "C408", |
| 32 | # Found commented-out code |
| 33 | "ERA001", |
| 34 | # Boolean-typed positional argument in function definition |
| 35 | "FBT001", |
| 36 | # Logging statement uses f-string |
| 37 | "G004", |
| 38 | # disabled on ruff's recommendation as causes problems with the formatter |
| 39 | "ISC001", |
| 40 | # Use of `assert` detected |
| 41 | "S101", |
| 42 | # `subprocess` call: check for execution of untrusted input |
| 43 | "S603", |
| 44 | # Starting a process with a partial executable path |
| 45 | "S607", |
| 46 | # Boolean default positional argument in function definition |
| 47 | "FBT002", |
| 48 | |
| 49 | # Too many statements |
| 50 | "PLR0915", |
| 51 | # Too many arguments in function definition |
| 52 | "PLR0913", |
| 53 | "PLR0912", # Too many branches |
| 54 | # $X is too complex |
| 55 | "C901", |
| 56 | |
| 57 | "E501", # line too long |
| 58 | "T201", # `print` found |
| 59 | "T203", # `pprint` found |
| 60 | "PLR2004", # Magic value used in comparison |
| 61 | ] |
| 62 | |
| 63 | # TODO fixes |
| 64 | [tool.ruff.lint.per-file-ignores] |
| 65 | "modules/prometheus/nixos-exporter/prometheus_nixos_exporter/__main__.py" = [ |
| 66 | "PTH115", |
| 67 | "PTH118", |
| 68 | "PTH120" |
| 69 | ] |
| 70 | "build/pluto/prometheus/exporters/**.py" = [ |
| 71 | "ANN" |
| 72 | ] |
| 73 | "build/datadog/hydra.py" = [ |
| 74 | "ANN001", |
| 75 | "ARG002", |
| 76 | "INP001", |
| 77 | "S113", |
| 78 | ] |
| 79 | "build/pluto/prometheus/exporters/channel-exporter.py" = [ |
| 80 | "BLE001", |
| 81 | "PTH123" |
| 82 | ] |
| 83 | "build/pluto/prometheus/exporters/hydra-queue-runner-reexporter.py" = [ |
| 84 | "TRY300", |
| 85 | "N806", |
| 86 | "A002", |
| 87 | "PTH123", |
| 88 | "S113" |
| 89 | ] |
| 90 | |
| 91 | [[tool.mypy.overrides]] |
| 92 | ignore_missing_imports = true |
| 93 |