Skip to content

[WIP] Working towards full Ruff code checks #81

Description

@utdrmac

This is a count of all the remaining "issues" that ruff can detect. E501 is "lines too long", which I don't think anyone really cares about. If anyone else wants to help out, pick a rule code, fix the code, and submit a PR. If you think a rule is dumb, or you just don't agree with it, it can be added to the global ignore list inside ruff.toml.

Docs for rules, including example fixes: https://docs.astral.sh/ruff/rules/

If you want to view specific violations, you can do this (for example): ruff check --select D400 and it will show you only those issues. Items with * can usually be auto-fixed by ruff.

# ruff check --select ALL --ignore E501 --statistics
74	ANN201 	[ ] missing-return-type-undocumented-public-function
62	D102   	[ ] undocumented-public-method
57	ANN001 	[ ] missing-type-function-argument
53	T201   	[*] print
53	Q001   	[*] bad-quotes-multiline-string
35	D400   	[ ] missing-trailing-period
32	D415   	[*] missing-terminal-punctuation
30	ERA001 	[*] commented-out-code
30	N806   	[ ] non-lowercase-variable-in-function
28	D210   	[*] surrounding-whitespace
26	Q002   	[*] bad-quotes-docstring
26	D300   	[*] triple-single-quotes
25	D403   	[*] first-word-uncapitalized
21	D100   	[ ] undocumented-public-module
20	INP001 	[ ] implicit-namespace-package
19	PTH123 	[ ] builtin-open
18	EM101  	[*] raw-string-in-exception
18	PLR2004	[ ] magic-value-comparison
18	TRY003 	[ ] raise-vanilla-args
17	N801   	[ ] invalid-class-name
17	D101   	[ ] undocumented-public-class
16	ARG002 	[ ] unused-method-argument
15	ANN204 	[ ] missing-return-type-special-method
15	D401   	[ ] non-imperative-mood
14	C901   	[ ] complex-structure
13	D107   	[ ] undocumented-public-init
12	RET505 	[*] superfluous-else-return
12	PLW2901	[ ] redefined-loop-name
11	ANN003 	[ ] missing-type-kwargs
11	TID252 	[ ] relative-imports
11	N803   	[ ] invalid-argument-name
10	RET503 	[*] implicit-return
10	D103   	[ ] undocumented-public-function
 9	ANN202 	[ ] missing-return-type-private-function
 9	COM812 	[*] missing-trailing-comma
 9	RUF012 	[ ] mutable-class-default
 8	BLE001 	[ ] blind-except
 8	SLF001 	[ ] private-member-access
 8	D202   	[*] blank-line-after-function
 7	PIE790 	[*] unnecessary-placeholder
 7	SIM102 	[ ] collapsible-if
 7	SIM108 	[ ] if-else-block-instead-of-if-exp
 7	PTH110 	[ ] os-path-exists
 7	N802   	[ ] invalid-function-name
 7	D212   	[*] multi-line-summary-first-line
 7	PLR0912	[ ] too-many-branches
 7	PLR1722	[*] sys-exit-alias
 7	UP015  	[*] redundant-open-modes
 6	FIX002 	[ ] line-contains-todo
 6	TD002  	[ ] missing-todo-author
 6	TD003  	[ ] missing-todo-link
 6	TD006  	[*] invalid-todo-capitalization
 6	PTH118 	[ ] os-path-join
 6	PLR0915	[ ] too-many-statements
 6	PLR1730	[*] if-stmt-min-max
 5	ANN206 	[ ] missing-return-type-class-method
 5	TD004  	[ ] missing-todo-colon
 5	PTH120 	[ ] os-path-dirname
 4	B007   	[ ] unused-loop-control-variable
 4	A001   	[ ] builtin-variable-shadowing
 4	RET504 	[*] unnecessary-assign
 4	N815   	[ ] mixed-case-variable-in-class-scope
 4	D200   	[*] unnecessary-multiline-docstring
 4	PLR1714	[*] repeated-equality-comparison
 4	RUF001 	[ ] ambiguous-unicode-character-string
 3	PTH100 	[ ] os-path-abspath
 3	PTH113 	[ ] os-path-isfile
 3	PTH207 	[ ] glob
 3	D105   	[ ] undocumented-magic-method
 3	D204   	[*] incorrect-blank-line-after-class
 3	D205   	[ ] missing-blank-line-after-summary
 3	RUF013 	[*] implicit-optional
 2	FBT002 	[ ] boolean-default-value-positional-argument
 2	A002   	[ ] builtin-argument-shadowing
 2	FIX004 	[ ] line-contains-hack
 2	RET502 	[*] implicit-return-value
 2	N816   	[ ] mixed-case-variable-in-global-scope
 2	PERF402	[ ] manual-list-copy
 2	PLR5501	[*] collapsible-else-if
 2	PLW0127	[ ] self-assigning-variable
 2	UP035  	[*] deprecated-import
 2	FURB136	[*] if-expr-min-max
 2	RUF019 	[*] unnecessary-key-check
 1	ANN002 	[ ] missing-type-args
 1	ANN205 	[ ] missing-return-type-static-method
 1	FBT001 	[ ] boolean-type-hint-positional-argument
 1	B009   	[*] get-attr-with-constant
 1	B028   	[*] no-explicit-stacklevel
 1	EXE001 	[ ] shebang-not-executable
 1	PIE808 	[*] unnecessary-range-start
 1	RET507 	[*] superfluous-else-continue
 1	SIM105 	[*] suppressible-exception
 1	SIM300 	[*] yoda-conditions
 1	SIM401 	[ ] if-else-block-instead-of-dict-get
 1	ARG004 	[ ] unused-static-method-argument
 1	PTH119 	[ ] os-path-basename
 1	PTH122 	[ ] os-path-splitext
 1	PERF102	[*] incorrect-dict-iterator
 1	D201   	[*] blank-line-before-function
 1	PLC0206	[ ] dict-index-missing-items
 1	PLR1711	[*] useless-return
 1	UP004  	[*] useless-object-inheritance
 1	UP007  	[*] non-pep604-annotation-union
 1	UP034  	[*] extraneous-parentheses
 1	UP036  	[*] outdated-version-block
 1	UP039  	[*] unnecessary-class-parentheses
 1	RUF100 	[*] unused-noqa

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions