Skip to content

Address disabled Ruff checks #573

@pp-mo

Description

@pp-mo

QA checks which we expect later to review + possibly remove.

The ultimate goal is to have few or no 'ignored' Ruff checks.
But for now, a few are accepted as "permanent", in fact the same as the Iris ones : see below

The main (lint) controls are in the pyproject.toml "[tool.ruff.lint]" section e.g. these lines (as-after #568)

So-far chosen permanent disables :

Note: interactions

The select key specifically includes "D212 : Multi-line docstring summary should start at the first line",
because this conflicts with "D213 : Multi-line docstring summary should start at the second line",
so it is explicitly added to the select : select = ["ALL". "D212"]

There are other possible conflicts like this, too, in which case "ALL" does not enable either rule.
See list of conflicting rules and linter rule selection


Remaining temporarily disabled checks :

  • flake8-builtins-a

    • A001
    • A002
  • flake8-annotations (ANN)

    • ANN001
    • ANN002
    • ANN003
    • ANN101
    • ANN102
    • ANN201
    • ANN202
    • ANN204
    • ANN205
  • flake8-unused-arguments (ARG)

    • ARG001
    • ARG002
    • ARG005
  • flake8-bugbear (B)

    • B007
    • B018
    • B028
    • B904
  • flake8-blind-except (BLE)

    • BLE001
  • flake8-comprehensions (C4)

    • C408
    • C901
  • pydocstyle (D)

    • D100", # Missing docstring in public module
    • D101", # Missing docstring in public class
    • D102", # Missing docstring in public method
    • D103", # Missing docstring in public function
    • D105", # Missing docstring in magic method
    • D200", # One-line docstring should fit on one line
    • D202", # No blank lines allowed after function docstring
    • D205", # 1 blank line required between summary line and description
    • D212", # Multi-line docstring summary should start at the second line
    • D300", # Use triple double quotes """
    • D301", # Use r""" if any backslashes in a docstring
    • D400", # First line should end with a period
    • D401", # First line of docstring should be in imperative mood
    • D406", # Section name should end with a newline
    • D407", # Missing dashed underline after section
  • flake8-datetimez (DTZ)

    • DTZ001
    • DTZ006
  • flake8-errmsg (EM)

    • EM101
    • EM102
    • EM103
  • eradicate (ERA)

    • ERA001
  • flake8-boolean-trap (FBT)

    • FBT001
    • FBT002
    • FBT003
  • flake8-fixme (FIX)

    • FIX002
    • FIX003
  • isort (I)

    • I001", # Import block is un-sorted or un-formatted
  • pep8-naming (N)

    • N801
    • N802
    • N803
    • N806
    • N999
  • Numpy-specific rules (NPY)

    • NPY002
  • Perflint (PERF)

    • PERF203
    • PERF401
  • Refactor (R)

    • PLR0402
    • PLR0912
    • PLR0913
    • PLR0915
    • PLR1714
    • PLR2004
    • PLR5501
  • Warning (W)

    • PLW0602
    • PLW2901
  • flake8-pytest-style (PT)

    • PT009
    • PT027
  • flake8-use-pathlib (PTH)

    • PTH100
    • PTH107
    • PTH110
    • PTH111
    • PTH112
    • PTH113
    • PTH118
    • PTH120
    • PTH122
    • PTH123
  • flake8-pyi (PYI)

    • PYI024
  • flake8-return (RET)

    • RET503
    • RET504
    • RET505
    • RET506
  • flake8-raise (RSE)

    • RSE102
  • Ruff-specific rules (RUF)

    • RUF005
    • RUF012
    • RUF015
  • flake8-bandit (S)

    • S101
    • S110
    • S603
    • S607
  • flake8-simplify (SIM)

    • SIM102
    • SIM108
    • SIM115
    • SIM117
    • SIM118
  • flake8-self (SLF)

    • SLF001
  • flake8-print (T20)

    • T201
  • flake8-todos (TD)

    • TD001
    • TD002
    • TD003
    • TD004
    • TD005
    • TD006
  • tryceratops (TRY)

    • TRY003
    • TRY004
    • TRY301
  • pyupgrade (UP)

    • UP009
    • UP018
    • UP027
    • UP031
    • UP032

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions