Rule |
Description |
KPI |
URL |
E0001-syntaxErrorForModule |
The code has syntax erros |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
R0801-duplicateLinesInFiles |
Similar lines |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0901-tooManyAncestors |
Class has too many parent classes, try to reduce this to get a more simple (and so easier to use) class. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0902-tooManyInstanceAttributes |
Class has too many instance attributes, try to reduce this to get a more simple (and so easier to use) class. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0903-tooFewPublicMethods |
Classes aren’t meant to just store data, as you’re basically treating the class as a dictionary |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0904-tooManyPublicMethods |
Class has too many public methods, try to reduce this to get a more simple (and so easier to use) class. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0911-tooManyReturnStatement |
Too many return statements |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0912-tooManyBranches |
Too many branches |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0913-tooManyArguments |
Too many arguments |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0914-tooManyLocalVariables |
A method or function uses more than 15 variables in the namespace. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0915-tooManyStatements |
A function or method has too many statements. You should then split it in smaller functions / methods. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0921-abstractClassNotReferenced |
An abstract class is not used as ancestor anywhere. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0922-abstractClassNotUsedFrequently |
An abstract class is used less than X times as ancestor. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
R0923-interfaceNotImplemented |
An interface class has not been implemented. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
R1703-ifStatementCanBeSimplified |
Suggest simplification of an if statement, which can be easier to understand after refactoring. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W0105-stringStatementHasNotEffect |
String statements which don’t form a docstring can be transformed into comments. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0121-incorrectRaiseError |
Use raise ErrorClass(args) instead of raise ErrorClass, args. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0301-uselessSemicolon |
A statement is endend by a semi-colon (‘;’), which isn’t necessary (that’s python, not C ;). |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0311-badIndentation |
An unexpected number of indentation’s tabulations or spaces has been found. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0331-usedInvalidOpt |
Use of the <> operator. Use ‘!=’ instead. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0332-longVarDeclaration |
A lower case ‘l’ is used to mark a long integer. You should use an upper case ‘L’ since the letter ‘l’ looks too much like the digit ‘1’. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0333-useStrFunction |
The deprecated ‘“’ (backtick) operator is used instead of the str() function |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0402-useOfDeprecatedModule |
Uses of a deprecated module |
Accuracy |
http://pylint-messages.wikidot.com/all-codes |
W0403-relativeImportFound |
An import relative to the package directory is detected. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0404-reimportNotRequired |
Don’t import modules more than once. |
Resource Utilization |
http://pylint-messages.wikidot.com/all-codes |
W0406-moduleImportItself |
Module imports itself |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0511-taskMarkerFound |
Task marker found |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
W0512-cannotDecodeUsingEncoding |
Source line cannot be decoded using the specified source file encoding |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0603-usingGlobalStatement |
Using the global statement |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0611-unusedImport |
Do not leave unused imports lying around, they are dead code. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0613-unusedArgument |
An argument is not used in the body of its function or method. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0614-unusedImportFromWildcardImport |
Unused import from wildcard import |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0621-nameRedefinedFromOuterScope |
Redefining name from outer scope |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0632-possibleUnbalancedTuple |
Possible unbalanced tuple unpacking |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0633-unpackingNonSequence |
Attempting to unpack a non-sequence |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W0704-exceptDoNothing |
Except doesn’t do anything |
Robustness |
http://pylint-messages.wikidot.com/all-codes |
W0712-implicitExceptionsNotSupported |
Implicit unpacking of exceptions is not supported in Python 3 |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W1001-propertyUsedOnOldStyleClass |
Use of ‘property’ on an old style class |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W1111-functionCallOnlyReturnNone |
An assignment is done on a function call but the inferred function returns nothing but None. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W1201-formatStringInsteadOfConcat |
When using python’s built-in logging module you shouldn’t concatenate strings with values, and instead format the string. As if string.format() |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
W1301-unusedKeyInDictionary |
Don’t pass extra keys when doing string formatting with a dictionary. |
Accuracy |
http://pylint-messages.wikidot.com/all-codes |
W1401-anomalousBacksEscape |
Anomalous backslash escape |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
W1402-anomalousEscapeString |
Anomalous Unicode escape in byte string |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
W1501-notAValidModeForOpen |
Make sure that the open builtin receives a correct mode. |
Accuracy |
http://pylint-messages.wikidot.com/all-codes |
C0113-unneededNegation |
Used when a boolean expression contains an unneeded negation. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0122-useConstantOnLeftSideOfComparision |
Used when the constant is placed on the left side of a comparison. It is usually clearer in intent to place it in the right hand side of the comparison. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0201-avoidCallingKeysMethod |
Emitted when the keys of a dictionary are iterated through the .keys() method. It is enough to just iterate through the dictionary itself, as in ‘for key in dictionary’. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0205-slotsShouldBeNonStringIterable |
Used when a class __slots__ is a simple string, rather than an iterable. |
Accuracy |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R0123-possibleIncorrectComparision |
Used when comparing an object to a literal, which is usually what you do not want to do, since you can compare to a different literal than what was expected altogether. |
Accuracy |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R0916-tooManyBooleanExpressionsInIfStatement |
Used when an if statement contains too many boolean expressions |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1701-mergeIsInstanceCalls |
Used when multiple consecutive isinstance calls can be merged into one. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1702-tooManyNestedBlocks |
Used when a function or a method has too many nested blocks. This makes the code less understandable and maintainable. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1704-localNameIsRedefiningArg |
Used when a local name is redefining an argument, which might suggest a potential error. This is taken in account only for a handful of name binding operations, such as for iteration, with statement assignment and exception handler assignment. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1705-unnecessaryElseAfterReturn |
Used in order to highlight an unnecessary block of code following an if containing a return statement. As such, it will warn when it encounters an else following a chain of ifs, all of them containing a return statement. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1706-oldTernarySyntax |
Used when one of known pre-python 2.5 ternary syntax is used. |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1707-avoidTrailingCommaTuple |
In Python, a tuple is actually created by the comma symbol, not by the parentheses. Unfortunately, one can actually create a tuple by misplacing a trailing comma, which can lead to potential weird bugs in your code. You should always use parentheses explicitly for creating a tuple. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1709-booleanExpressionMayBeSimplified |
Emitted when redundant pre-python 2.5 ternary syntax is used. |
Portability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1710-incorrectReturnExpression |
According to PEP8, if any return statement returns an expression, any return statements where no value is returned should explicitly state this as return None, and an explicit return statement should be present at the end of the function (if reachable) |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1711-uselessReturn |
Emitted when a single ‘return’ or ‘return None’ statement is found at the end of function or method definition. This statement can safely be removed because Python will implicitly return None |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R1712-useTupleForSwappingVariables |
You do not have to use a temporary variable in order to swap variables. Using ‘tuple unpacking’ to directly swap variables makes the intention more clear. |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0123-avoidExplicitTypeChecking |
Do not check explicitly the type of an object, use isinstance or feature checking instead. |
Efficiency |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0330-wrongIndentation |
Continued lines are badly indented. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R0202-useDecoratorInsteadOfClassMethod |
Use the decorator syntax (@) for creating a classmethod, do not call it explicitly. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R0203-useDecoratorInsteadOfStaticMethod |
A static method can easily be written by using the decorator syntax, which is cleaner and more obvious than calling static method directly. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W0125-avoidCondStmtWithConstantVal |
Prohibit a conditional statement with a constant value |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W1302-invalidFormatString |
Make sure that the format strings are syntactically correct. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W1303-missingKeywordArgumentForFormatString |
Pass all defined keyword arguments into a string formatting operation. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W1304-unusedFormatArgument |
Prohibit formatting extra arguments, which are not used by the string format. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W1305-avoidCombiningWhileStringFormatting |
Avoid combining automatic field numbering ({}) with manual field specification ({i}). |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
W1306-missingFormatAttributeInFormatSpecifier |
Avoid accessing a missing attribute in a string formatting field. |
Accuracy |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
R0204-redefinedVariableType |
Used when the type of a variable changes inside a method or a function. |
Understandability |
https://docs.pylint.org/en/1.6.0/features.html |
C0102-blackListedName |
Used when the name is listed in the ‘bad-names’ black list. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0103-invalidName |
The name doesn’t fit the naming convention associated to its type (constant, variable, class…). |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0111-missingDocstring |
Module, function, class or method has no docstring. Some special methods like __init__() don’t require a docstring. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0112-emptyDocstring |
Module, function, class or method has an empty docstring. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0121-missingAttribute |
An attribute required for modules is missing |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0200-useEnumerateInsteadOfRange |
Consider using enumerate instead of iterating with range and len Emitted when code that iterates with range and len is encountered. Such code can be simplified by using the enumerate builtin. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0202-useClsAsFirstArgumentInClass |
Used when a class method has a first argument named differently than the value specified in valid-classmethod-first-arg option (default to “cls”), recommended to easily differentiate them from regular instance methods. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0203-useMcsAsFirstArgumentInMethod |
Metaclass method should have ‘mcs’ as first argument |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0204-useMcsAsFirstArgumentInClass |
A metaclass class method has a first argument named differently than the value specified in the valid-metaclass-classmethod-first-arg option (defaults to mcs). Specifying the value mcs is recommended to easily differentiate such methods from regular instance methods. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0301-lineTooLong |
A line is longer than the limit specified in the max-line-length option in Pylint |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0302-tooManyLinesInModule |
Too many lines in module, reducing its readability. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0303-trailingWhitespace |
Prohibit whitespace on any line directly before the line end character(s). |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0304-newLineMissing |
A Python source file has no line end character(s) on its last line. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0321-tooManyStmtOnSingleLine |
More than one statement is found on the same line. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0322-OptNotPrecededBySpace |
Operator not preceded by a space |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0323-OptNotFollowedBySpace |
Operator not followed by a space |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0324-commaNotFollowedBySpace |
Comma not followed by a space |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0325-unnecessaryParensAfterKeyword |
Prohibit the use of unnecessary parenthesis to enforce Python conventions. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C0326-extraSpaces |
Prohibit use of extraneous whitespace in expressions and statements. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
C1001-oldStyleClassDefined |
A class is defined using the old style. |
Understandability |
http://pylint-messages.wikidot.com/all-codes |
I0001-builtInModuleNotChecked |
Used to inform that a built-in module has not been checked using the raw checkers. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
I0010-inlineOptionNotConsidered |
Used when an inline option is either badly formatted or can’t be used inside modules. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
I0011-locallyDisabling |
Used when an inline option disables a message or a messages category. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
I0012-locallyEnabling |
Used when an inline option enables a message or a messages category. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
I0013-ignoringEntireFile |
Used to inform that the file will not be checked. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
I0014-deprecatedDirectiveUsed |
Used to inform that a deprecated directive has been used. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
I0022-deprecatePragmaUsed |
Used to inform that a deprecated pragma has been used. |
Maintainability |
http://pylint-messages.wikidot.com/all-codes |
C0305-trailingNewlines |
Used when there are trailing blank lines in a file. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0327-mixedLinesError |
Used when there are mixed (LF and CRLF) newline signs in a file. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0328-unexpectedLineEndingFmt |
Used when there is different newline than expected. |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0401-incorrectSpellingInComment |
Used when a word in comment is not spelled correctly. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0402-incorrectSpellingInDocstring |
Used when a word in docstring is not spelled correctly. |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0403-invalidCharsInDocstring |
Used when a word in docstring cannot be checked by enchant. |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0410-cyclicImport2 |
Used when a cyclic import between two or more modules is detected. |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0411-incorrectImportOrder |
Used when PEP8 import order is not respected (standard imports first, then third-party libraries, then local imports) |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0412-importsNotGrouped |
Used when imports are not grouped by packages |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C0413-importsShouldBeAtTop |
Used when code and imports are mixed |
Understandability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
C1801-lenUsedIncorrectly |
Used when Pylint detects that len(sequence) is being used inside a condition to determine if a sequence is empty. Instead of comparing the length to 0, rely on the fact that empty sequences are false. |
Efficiency |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |
I0023-useSymbolicMessaage |
Used when a message is enabled or disabled by id. |
Maintainability |
https://pylint.readthedocs.io/en/latest/technical_reference/features.html |