Violations¶
Contains detailed technical information about violation internals.
Violations API¶
ASTViolation |
Violation for ast based style visitors. |
MaybeASTViolation |
Violation for ast and modules visitors. |
TokenizeViolation |
Violation for tokenize based visitors. |
SimpleViolation |
Violation for cases where there’s no associated nodes. |
Violation can not have more than one base class. See Tutorial for more information about choosing a correct base class.
Conventions¶
- Each violation class name should end with “Violation”
- Each violation must have a long docstring with full description
- Each violation must have “Reasoning” and “Solution” sections
- Each violation must have “versionadded” policy
- Each violation should have an example with correct and wrong usages
- If violation error template should have a parameter
it should be the last part of the text:
: {0}
Reference¶
-
ErrorNode
= typing.Union[_ast.AST, tokenize.TokenInfo, NoneType]¶ General type for all possible nodes where error happens.
-
class
BaseViolation
(node, text=None)[source]¶ Bases:
object
Abstract base class for all style violations.
It basically just defines how to create any error and how to format this error later on.
Each subclass must define
error_template
andcode
fields.-
error_template
¶ message that will be shown to user after formatting.
-
code
¶ violation unique number. Used to identify the violation.
-
-
class
ASTViolation
(node, text=None)[source]¶ Bases:
wemake_python_styleguide.violations.base._BaseASTViolation
Violation for
ast
based style visitors.
-
class
MaybeASTViolation
(node=None, text=None)[source]¶ Bases:
wemake_python_styleguide.violations.base._BaseASTViolation
Violation for
ast
and modules visitors.Is used for violations that share the same rule for nodes and module names. Is wildly used for naming rules.
-
class
TokenizeViolation
(node, text=None)[source]¶ Bases:
wemake_python_styleguide.violations.base.BaseViolation
Violation for
tokenize
based visitors.
-
class
SimpleViolation
(node=None, text=None)[source]¶ Bases:
wemake_python_styleguide.violations.base.BaseViolation
Violation for cases where there’s no associated nodes.