Understand the wemake-python-styleguide architecture
masterThe linter operates as a flake8 plugin using a specific sequence of components to identify code issues:
- flake8: Runs the
Checkeralongside other plugins. - Checker: Orchestrates the process by requesting
Transformationsteps before analysis begins. - Transformation: Performs AST (Abstract Syntax Tree) transformations.
- Visitor: The
Checkerruns variousVisitorinstances that traverse the code. - Violation:
Visitorinstances raiseViolationobjects when bad code is detected, which are then reported byflake8to the user.