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

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