Skip to content

Tracking Current outstanding pre-commit repo review actions #277

@HGWright

Description

@HGWright

📰 Custom Issue

#276 will add a pre-commit action checking our repo against repo review.

To add this I have set all of the tests that currently fail to ignore in the pyproject.toml. We need to consider which/how many of these we can/want to implement into stratify, and which we are happy to leave on ignore.

Repo Review

  • PY004: Has docs folder
  • PP302: Sets a minimum pytest to at least 6
  • PP304: Sets the log level in pytest
  • PP305: Specifies xfail_strict
  • PP306: Specifies strict config
  • PP307: Specifies strict markers
  • PP309: Filter warnings specified
  • PY007: Supports an easy task runner (nox or tox)
  • PP003: Does not list wheel as a build-dep
  • PC111: Uses blacken-docs
  • PC140: Uses a type checker
  • PC160: Uses a spell checker
  • PC170: Uses PyGrep hooks (only needed if rST present)
  • PC180: Uses a markdown formatter
  • PC190: Uses Ruff
  • MY100: Uses MyPy (pyproject config)
  • RF001: Has Ruff config
  • RTD100: Uses ReadTheDocs (pyproject config)

Ruff

  • "ANN001", # Missing type annotation for function argument {name}
  • "ANN002", # Missing type annotation for *{name}
  • "ANN003", # Missing type annotation for **{name}
  • "ANN201", # Missing return type annotation for public function {name}
  • "ANN202", # Missing return type annotation for private function {name}
  • "ANN204", # Missing return type annotation for special method {name}
  • "ARG002", # Unused method argument: {name}
  • "ARG003", # Unused class method argument: {name}
  • "B028", # No explicit stacklevel keyword argument found
  • "C405", # Unnecessary {obj_type} literal (rewrite as a set literal)
  • "C419", # Unnecessary list comprehension
  • "COM812", # Trailing comma missing.
  • "COM819", # Trailing comma prohibited.
  • "D100", # Missing docstring in public module
  • "D101", # Missing docstring in public class
  • "D102", # Missing docstring in public method
  • "D103", # Missing docstring in public function
  • "D104", # Missing docstring in public package
  • "D106", # Missing docstring in public nested class
  • "D205", # 1 blank line required between summary line and description
  • "ERA001", # Found commented-out code
  • "FBT002", # Boolean default positional argument in function definition
  • "ISC001", # Implicitly concatenate string literals on one line.
  • "N801", # Class name {name} should use CapWords convention
  • "PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable
  • "PT009", # Use a regular assert instead of unittest-style {assertion}
  • "PT027", # Use pytest.raises instead of unittest-style {assertion}
  • "RET504", # Unnecessary assignment to {name} before return statement
  • "RUF005", # Consider {expression} instead of concatenation
  • "RUF012", # Mutable class attributes should be annotated with typing.ClassVar
  • "SLF001", # Private member accessed: {access}
  • "T201", # print found

Per file

Tests

  • "D100", # Missing docstring in public module
  • "D205", # 1 blank line required between summary line and description
  • "D401", # 1 First line of docstring should be in imperative mood

NumPydoc

  • "GL01", # Permit summary line on same line as docstring opening quotes.
  • "GL02", # Permit a blank line before docstring closing quotes.
  • "GL03", # Ignoring.
  • "GL08", # The object does not have a docstring
  • "PR01", # Parameters {missing_params} not documented
  • "PR02", # Unknown parameters {unknown_params}
  • "PR10", # Parameter "{param_name}" requires a space before the colon separating the parameter name and type
  • "RT04", # Return value description should start with a capital letter
  • "SS06", # Summary should fit in a single line
  • "SA01", # Not all docstrings require a "See Also" section.
  • "ES01", # Not all docstrings require an "Extended Summary" section.
  • "EX01", # Not all docstrings require an "Examples" section.
  • "YD01", # Not all docstrings require a "Yields" section.

MyPy

(These are the groups of errors that we disable).

  • "call-arg"
  • "no-untyped-def"
  • "no-untyped-def"
  • "attr-defined"
  • "misc"
  • "index"
  • "var-annotated"
  • "assignment"

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