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
    No fields configured for Accessibility.

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions