Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking Current outstanding pre-commit repo review actions #277

Open
5 of 74 tasks
HGWright opened this issue Sep 27, 2024 · 0 comments
Open
5 of 74 tasks

Tracking Current outstanding pre-commit repo review actions #277

HGWright opened this issue Sep 27, 2024 · 0 comments

Comments

@HGWright
Copy link
Contributor

HGWright commented Sep 27, 2024

📰 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"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant