Skip to content

[WIP] Working towards full Ruff code checks #81

@utdrmac

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

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