Python checker reference

Checker name Category Description Default severity Enabled by default?
PY3.C0103 Basic Invalid name 3 False
PY3.C0104 Basic Disallowed name 3 False
PY3.C0105 Basic Typevar name incorrect variance 3 False
PY3.C0112 Basic Empty docstring 3 False
PY3.C0113 Refactoring Unneeded not 3 True
PY3.C0114 Basic Missing module docstring 3 False
PY3.C0115 Basic Missing class docstring 3 False
PY3.C0116 Basic Missing function docstring 3 False
PY3.C0121 Basic Singleton comparison 3 False
PY3.C0123 Basic Unidiomatic typecheck 3 False
PY3.C0131 Basic Typevar double variance 3 False
PY3.C0132 Basic Typevar name mismatch 3 False
PY3.C0200 Refactoring Use enumerate 3 False
PY3.C0201 Refactoring Consider iterating dictionary 3 False
PY3.C0202 Classes Bad class method argument 3 True
PY3.C0203 Classes Bad mcs method argument 3 True
PY3.C0204 Classes Bad mcs class method argument 3 True
PY3.C0205 Classes Single string used for slots 3 False
PY3.C0206 Refactoring Use dict items 3 False
PY3.C0207 Refactoring Use maxsplit arg 3 False
PY3.C0208 Refactoring Use sequence for iteration 3 False
PY3.C0209 Refactoring Consider using f-string 3 False
PY3.C0301 Format Line too long 3 False
PY3.C0302 Format Too many lines 3 False
PY3.C0303 Format Trailing whitespace 3 False
PY3.C0304 Format Missing final newline 3 False
PY3.C0305 Format Trailing newlines 3 False
PY3.C0321 Format Multiple statements 3 False
PY3.C0325 Format Superfluous parens 3 False
PY3.C0327 Format Mixed line endings 3 True
PY3.C0328 Format Unexpected line ending format 3 True
PY3.C0401 Spelling Wrong spelling in comment 3 False
PY3.C0402 Spelling Wrong spelling in docstring 3 False
PY3.C0403 Spelling Invalid characters in docstring 3 False
PY3.C0410 Imports Multiple imports 3 False
PY3.C0411 Imports Wrong import order 3 False
PY3.C0412 Imports Ungrouped imports 3 False
PY3.C0413 Imports Wrong import position 3 False
PY3.C0414 Imports Useless import alias 3 False
PY3.C0415 Imports Import outside toplevel 3 False
PY3.C1802 Refactoring Use implicit booleaness not len 2 False
PY3.C1803 Refactoring Use implicit booleaness not comparison 2 True
PY3.C2401 Nonascii Non-ascii name 3 True
PY3.C2403 Nonascii Non-ascii module import 3 True
PY3.C2503 Unicode Bad file encoding 2 True
PY3.C2801 Unnecessary Dunder Call Unnecessary Dunder Call 2 True
PY3.C3001 Lambda Expressions Unnecessary lambda assignment 2 False
PY3.C3002 Lambda Expressions Unnecessary direct lambda call 2 False
PY3.E0001 Basic Syntax Error raised for a module 2 False
PY3.E0011 Basic Unrecognized file option 2 True
PY3.E0013 Basic Plugin not found 2 False
PY3.E0014 Basic Out-of-place setting in top level configuration-section 2 False
PY3.E0015 Basic Unrecognized option found 2 False
PY3.E0100 Basic Init is generator 2 True
PY3.E0101 Basic Return in init 2 True
PY3.E0102 Basic Function redefined 2 True
PY3.E0103 Basic Not in loop 2 True
PY3.E0104 Basic Return outside function 2 True
PY3.E0105 Basic Yield outside function 2 True
PY3.E0106 Basic Return arg in generator 2 True
PY3.E0107 Basic Nonexistent operator 2 True
PY3.E0108 Basic Duplicate argument name 2 True
PY3.E0110 Basic Abstract class instantiated 2 True
PY3.E0111 Basic Bad reversed sequence 2 True
PY3.E0112 Basic Too many star expressions 2 True
PY3.E0113 Basic Invalid star assignment target 2 True
PY3.E0114 Basic Star needs assignment target 2 False
PY3.E0115 Basic Nonlocal and global 2 False
PY3.E0116 Basic Continue in finally 2 False
PY3.E0117 Basic Nonlocal without binding 2 False
PY3.E0118 Basic Used prior global declaration 2 True
PY3.E0119 Basic Misplaced format function 2 True
PY3.E0202 Classes Method hidden 2 False
PY3.E0203 Classes Access member before definition 2 True
PY3.E0211 Classes No method argument 2 True
PY3.E0213 Classes No self argument 2 True
PY3.E0236 Classes Invalid slots object 2 False
PY3.E0237 Classes Assigning non slot 2 False
PY3.E0238 Classes Invalid slots 2 False
PY3.E0239 Classes Inherit non-class 2 True
PY3.E0240 Classes Inconsistent-mro 2 True
PY3.E0241 Classes Duplicate bases 2 True
PY3.E0242 Classes Cass variable slots conflict 2 False
PY3.E0243 Classes Invalid class object 2 True
PY3.E0244 Classes Invalid enum extension 2 True
PY3.E0301 Classes Non-iterator returned 2 True
PY3.E0302 Classes Unexpected special method signature 2 True
PY3.E0303 Classes Invalid length returned 2 True
PY3.E0304 Classes Invalid bool returned 2 True
PY3.E0305 Classes Invalid index returned 2 True
PY3.E0306 Classes Invalid repr returned 2 True
PY3.E0307 Classes Invalid str returned 2 True
PY3.E0308 Classes Invalid bytes returned 2 True
PY3.E0309 Classes Invalid hash returned 2 True
PY3.E0310 Classes Invalid length-hint returned 2 True
PY3.E0311 Classes Invalid format returned 2 True
PY3.E0312 Classes Invalid getnewargs returned 2 True
PY3.E0313 Classes Invalid getnewargs-ex returned 2 True
PY3.E0401 Imports Import error 2 False
PY3.E0402 Imports Relative beyond top level 2 False
PY3.E0601 Variables Used before assignment 2 True
PY3.E0602 Variables Undefined variable 2 True
PY3.E0603 Variables Undefined all variable 2 False
PY3.E0604 Variables Invalid all object 2 False
PY3.E0605 Variables Invalid all format 2 False
PY3.E0611 Variables No name in module 2 False
PY3.E0633 Variables Unpacking non sequence 3 True
PY3.E0643 Variables Potential index error 3 False
PY3.E0701 Exceptions Bad except order 2 True
PY3.E0702 Exceptions Raising bad type 2 True
PY3.E0703 Exceptions Bad exception context 2 True
PY3.E0704 Exceptions Misplaced bare raise 2 True
PY3.E0710 Exceptions Raising non-exception 2 False
PY3.E0711 Exceptions Notimplemented raised 2 False
PY3.E0712 Exceptions Catching non-exception 2 True
PY3.E1003 Newstyle Bad super call 2 True
PY3.E1101 Typecheck No member 2 True
PY3.E1102 Typecheck Not callable 2 True
PY3.E1111 Typecheck Assignment from no return 2 False
PY3.E1120 Typecheck No value for parameter 2 True
PY3.E1121 Typecheck Too many function args 2 True
PY3.E1123 Typecheck Unexpected keyword arg 2 False
PY3.E1124 Typecheck Redundant keyword arg 3 False
PY3.E1125 Typecheck Missing kwoa 3 True
PY3.E1126 Typecheck Invalid sequence index 3 False
PY3.E1127 Typecheck Invalid slice index 3 False
PY3.E1128 Typecheck Assignment from none 2 False
PY3.E1129 Typecheck Not context manager 2 False
PY3.E1130 Typecheck Invalid unary operand type 2 True
PY3.E1131 Typecheck Unsupported binary operation 2 True
PY3.E1132 Typecheck Repeated keyword 3 False
PY3.E1133 Typecheck Not an iterable 3 False
PY3.E1134 Typecheck Not a mapping 3 False
PY3.E1135 Typecheck Unsupported membership test 2 False
PY3.E1136 Typecheck Unsubscriptable object 2 False
PY3.E1137 Typecheck Unsupported assignment operation 2 False
PY3.E1138 Typecheck Unsupported delete operation 2 False
PY3.E1139 Typecheck Invalid metaclass 2 False
PY3.E1140 Typecheck Unhashable dict key 2 False
PY3.E1141 Typecheck Dict iter missing items 3 False
PY3.E1142 Typecheck Await outside async 3 False
PY3.E1200 Logging Logging unsupported format 3 False
PY3.E1201 Logging Logging format truncated 3 False
PY3.E1205 Logging Logging too many args 3 False
PY3.E1206 Logging Logging too few args 3 False
PY3.E1300 String Bad format character 3 True
PY3.E1301 String Truncated format string 3 False
PY3.E1302 String Mixed format string 3 False
PY3.E1303 String Format needs mapping 3 False
PY3.E1304 String Missing format string key 3 False
PY3.E1305 String Too many format args 3 False
PY3.E1306 String Too few format args 3 False
PY3.E1307 String Bad string format type 3 False
PY3.E1310 String Bad str strip call 3 False
PY3.E1507 Standard Library Issues Invalid env var value 3 False
PY3.E1700 Async Yield inside async function 3 True
PY3.E1701 Async Not async context manager 3 False
PY3.E2501 Unicode Invalid unicode codec 3 True
PY3.E2502 Unicode Bidirectional unicode 2 False
PY3.E2510 Unicode Invalid character backspace 3 True
PY3.E2511 Unicode Invalid character carriage return 3 True
PY3.E2512 Unicode Invalid character sub 3 True
PY3.E2513 Unicode Invalid character esc 3 True
PY3.E2514 Unicode Invalid character nul 3 True
PY3.E2515 Unicode Invalid character zero width space 3 True
PY3.E4702 Modified Iteration Modified iterating dict 2 False
PY3.E4703 Modified Iteration Modified iterating set 2 False
PY3.F0001 Basic Error occurred preventing the analysis of a module 2 False
PY3.F0002 Basic Unexpected error occurred building the Astroid representation 2 False
PY3.F0010 Basic An exception occurred building the Astroid representation 2 False
PY3.F0011 Basic Error during parsing configuration 2 False
PY3.F0202 Classes Method check failed 2 True
PY3.I0001 Basic Built-in module not checked with raw checkers 2 False
PY3.I0010 Basic Bad inline option 2 False
PY3.I0011 Basic Inline option disabling message 2 False
PY3.I0013 Basic Ignoring entire file 2 False
PY3.I0020 Basic Suppressed Message 2 False
PY3.I0021 Basic Useless Suppression 2 False
PY3.I0022 Basic Deprecated Pragma 2 False
PY3.I0023 Miscellaneous Use symbolic message instead 3 False
PY3.I1101 Typecheck C extension no member 3 False
PY3.R0022 Basic Useless Option Value 2 True
PY3.R0123 Basic Literal comparison 3 False
PY3.R0124 Basic Comparison with itself 3 False
PY3.R0133 Basic Comparison of Constants 3 False
PY3.R0202 Classes No class method decorator 3 False
PY3.R0203 Classes No static method decorator 3 False
PY3.R0205 Classes Useless object inheritance 3 False
PY3.R0206 Classes Property with parameters 2 True
PY3.R0401 Imports Cyclic import 2 False
PY3.R0402 Imports Consider using from import 3 False
PY3.R0801 Similarities Duplicate code 3 False
PY3.R0901 Design Too many ancestors 3 False
PY3.R0902 Design Too many instance attributes 3 False
PY3.R0903 Design Too few public methods 3 False
PY3.R0904 Design Too many public methods 3 False
PY3.R0911 Design Too many return statements 3 False
PY3.R0912 Design Too many branches 3 False
PY3.R0913 Design Too many arguments 3 False
PY3.R0914 Design Too many locals 3 False
PY3.R0915 Design Too many statements 3 False
PY3.R0916 Design Too many boolean expressions 3 False
PY3.R1701 Refactoring Consider merging isinstance 3 False
PY3.R1702 Refactoring Function or a method has too many nested blocks 3 False
PY3.R1703 Refactoring Simplifiable if-statement 3 False
PY3.R1704 Refactoring Redefined argument from local 3 False
PY3.R1705 Refactoring No else return 3 True
PY3.R1706 Refactoring Use ternary 3 False
PY3.R1707 Refactoring Trailing comma tuple 3 False
PY3.R1708 Refactoring Stop iteration return 3 True
PY3.R1709 Refactoring Simplify boolean expression 3 False
PY3.R1710 Refactoring Inconsistent return statements 3 True
PY3.R1711 Refactoring Useless return 3 True
PY3.R1712 Refactoring Use swap variables 3 False
PY3.R1713 Refactoring Consider using join 3 False
PY3.R1714 Refactoring Consider using in 3 False
PY3.R1715 Refactoring Consider using get 3 False
PY3.R1716 Refactoring Chained comparison 3 True
PY3.R1717 Refactoring Use dict comprehension 3 False
PY3.R1718 Refactoring Use set comprehension 3 False
PY3.R1719 Refactoring Simplifiable if-expression 3 False
PY3.R1720 Refactoring No else raise 3 True
PY3.R1721 Refactoring Unnecessary comprehension 3 False
PY3.R1722 Refactoring Use sys exit 3 False
PY3.R1723 Refactoring No else break 3 True
PY3.R1724 Refactoring No else continue 3 True
PY3.R1725 Refactoring Super with arguments 2 True
PY3.R1726 Refactoring Simplifiable condition 3 False
PY3.R1727 Refactoring Condition evals to constant 2 True
PY3.R1728 Refactoring Use generator 3 False
PY3.R1729 Refactoring Use generator 3 True
PY3.R1730 Refactoring Consider using min builtin 3 False
PY3.R1731 Refactoring Consider using max builtin 3 False
PY3.R1732 Refactoring Consider using with 3 False
PY3.R1733 Refactoring Unnecessary dict index lookup 3 False
PY3.R1734 Refactoring Use List literal 2 True
PY3.R1735 Refactoring Use swap variables 2 False
PY3.R1736 Refactoring Unnecessary list index lookup 2 False
PY3.W0012 Basic Unknown Option Value 2 True
PY3.W0101 Basic Unreachable 2 True
PY3.W0102 Basic Dangerous default value 2 True
PY3.W0104 Basic Pointless statement 3 False
PY3.W0105 Basic Pointless string statement 3 False
PY3.W0106 Basic Expression not assigned 3 True
PY3.W0107 Basic Unnecessary pass 3 True
PY3.W0108 Basic Unnecessary lambda 3 False
PY3.W0109 Basic Duplicate key 2 True
PY3.W0120 Basic Useless else on loop 2 True
PY3.W0122 Basic Exec used 3 True
PY3.W0123 Basic Eval used 3 True
PY3.W0124 Basic Confusing with statement 3 False
PY3.W0125 Basic Using constant test 3 True
PY3.W0126 Basic Missing parentheses for call in test 2 True
PY3.W0127 Basic Self assigning variable 3 True
PY3.W0128 Basic Redeclared assigned name 2 True
PY3.W0129 Basic Assert on string literal 2 True
PY3.W0130 Basic Duplicate Value 2 True
PY3.W0143 Basic Comparison with callable 2 True
PY3.W0150 Basic Lost exception 2 True
PY3.W0177 Basic NaN comparison 3 False
PY3.W0199 Basic Assert on tuple 3 False
PY3.W0201 Classes Attribute defined outside init 2 True
PY3.W0211 Classes Bad static method argument 2 True
PY3.W0212 Classes Protected access 2 True
PY3.W0221 Classes Arguments differ 2 True
PY3.W0222 Classes Signature differs 2 True
PY3.W0223 Classes Abstract method 2 True
PY3.W0231 Classes Super init not called 2 True
PY3.W0233 Classes Non-parent init called 2 True
PY3.W0235 Classes Useless super delegation 3 False
PY3.W0236 Classes Invalid overridden method 2 True
PY3.W0237 Classes Arguments renamed 2 True
PY3.W0238 Classes Unused private member 3 True
PY3.W0239 Classes Overridden final method 2 True
PY3.W0240 Classes Subclassed final class 2 True
PY3.W0244 Classes Redefined slots in subclass 2 True
PY3.W0245 Classes Super without brackets 3 True
PY3.W0301 Format Unnecessary semicolon 3 False
PY3.W0311 Format Bad indentation 3 False
PY3.W0401 Imports Wildcard import 3 True
PY3.W0402 Imports Deprecated module 2 True
PY3.W0404 Imports Reimported 2 True
PY3.W0406 Imports Import self 2 True
PY3.W0407 Imports Preferred module 3 False
PY3.W0410 Imports Misplaced future 3 True
PY3.W0511 Miscellaneous fixme 3 False
PY3.W0601 Variables Global variable undefined 2 True
PY3.W0602 Variables Global variable not assigned 2 True
PY3.W0603 Variables Global statement 2 False
PY3.W0604 Variables Global at module level 2 True
PY3.W0611 Variables Unused import 3 True
PY3.W0612 Variables Unused variable 3 True
PY3.W0613 Variables Unused argument 3 True
PY3.W0614 Variables Unused wildcard import 3 True
PY3.W0621 Variables Redefined outer name 3 True
PY3.W0622 Variables Redefined builtin 3 True
PY3.W0631 Variables Undefined loop variable 2 True
PY3.W0632 Variables Unbalanced tuple unpacking 2 True
PY3.W0640 Variables Cell var from loop 3 False
PY3.W0641 Variables Possibly unused variable 3 False
PY3.W0642 Variables Self cls assignment 3 False
PY3.W0702 Exceptions Bare except 3 False
PY3.W0703 Exceptions Broad except 2 True
PY3.W0705 Exceptions Duplicate except 2 True
PY3.W0706 Exceptions Try except raise 2 True
PY3.W0707 Exceptions Raise missing from 3 False
PY3.W0711 Exceptions Binary op exception 3 False
PY3.W0715 Exceptions Raising format tuple 3 False
PY3.W0716 Exceptions Wrong exception operation 3 False
PY3.W1113 Typecheck Keyword arg before vararg 3 True
PY3.W1114 Typecheck Arguments out of order 3 True
PY3.W1115 Typecheck Non str assignment to dunder name 3 False
PY3.W1116 Typecheck Isinstance second argument not valid type 3 False
PY3.W1201 Logging Logging not lazy 3 False
PY3.W1202 Logging Logging format interpolation 3 False
PY3.W1203 Logging Logging fstring interpolation 3 False
PY3.W1300 String Bad format string key 3 False
PY3.W1301 String Unused format string key 3 False
PY3.W1302 String Bad format string 2 True
PY3.W1303 String Missing format argument key 2 True
PY3.W1304 String Unused format string argument 3 False
PY3.W1305 String Format combined specification 3 False
PY3.W1306 String Missing format attribute 2 True
PY3.W1307 String Invalid format index 3 False
PY3.W1308 String Duplicate string formatting argument 3 False
PY3.W1309 String F string without interpolation 3 False
PY3.W1310 String Format string without interpolation 3 False
PY3.W1401 String Anomalous backslash in string 3 False
PY3.W1402 String Anomalous unicode escape in string 3 False
PY3.W1404 String Implicit str concat 3 False
PY3.W1405 String Inconsistent quotes 3 False
PY3.W1406 String Redundant u string prefix 3 False
PY3.W1501 Standard Library Issues Bad open mode 2 True
PY3.W1502 Standard Library Issues Boolean datetime 2 True
PY3.W1503 Standard Library Issues Redundant unittest assert 3 False
PY3.W1505 Standard Library Issues Deprecated method 3 True
PY3.W1506 Standard Library Issues Bad thread instantiation 2 True
PY3.W1507 Standard Library Issues Shallow copy environ 2 True
PY3.W1508 Standard Library Issues Invalid env var default 2 True
PY3.W1509 Standard Library Issues Subprocess popen preexec-fn 3 True
PY3.W1510 Standard Library Issues Subprocess run check 2 True
PY3.W1511 Standard Library Issues Deprecated argument 3 True
PY3.W1512 Standard Library Issues Deprecated class 3 True
PY3.W1513 Standard Library Issues Deprecated decorator 3 True
PY3.W1514 Standard Library Issues Unspecified encoding 2 True
PY3.W1515 Standard Library Issues Forgotten debug statement 2 True
PY3.W1518 Standard Library Issues Method cache max size none 2 True
PY3.W2101 Threading Useless with lock 2 True
PY3.W2301 Unnecessary Eclipse Unnecessary Eclipse 2 True
PY3.W2402 Nonascii Non-ascii file name 3 True
PY3.W2601 Unsupported Version Using f string in unsupported version 3 True
PY3.W2602 Unsupported Version Using final decorator in unsupported version 3 True
PY3.W4701 Modified Iteration Modified iterating list 2 False