graph LR
Style_Guide_Registration["Style Guide Registration"]
Google_Style_Guide_Enforcement["Google Style Guide Enforcement"]
Shopify_Style_Guide_Enforcement["Shopify Style Guide Enforcement"]
AST_Utilities["AST Utilities"]
Git_and_External_Tool_Integration["Git and External Tool Integration"]
Style_Guide_Registration -- "registers" --> Google_Style_Guide_Enforcement
Style_Guide_Registration -- "registers" --> Shopify_Style_Guide_Enforcement
Google_Style_Guide_Enforcement -- "uses" --> AST_Utilities
click Style_Guide_Registration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/shopify_python/Style Guide Registration.md" "Details"
click Google_Style_Guide_Enforcement href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/shopify_python/Google Style Guide Enforcement.md" "Details"
click Shopify_Style_Guide_Enforcement href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/shopify_python/Shopify Style Guide Enforcement.md" "Details"
click AST_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/shopify_python/AST Utilities.md" "Details"
click Git_and_External_Tool_Integration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/shopify_python/Git and External Tool Integration.md" "Details"
The shopify_python project serves as a comprehensive code quality and style enforcement system for Python. Its primary purpose is to ensure adherence to both Google Python Style Guide and Shopify-specific coding standards. It integrates with Pylint for static analysis, leverages AST utilities for code inspection, and provides utilities for interacting with Git repositories to process changed files and apply automated formatting with tools like autopep8.
Central entry point for registering various style checkers (Google and Shopify) with the Pylint linter, enabling the enforcement of coding standards.
Related Classes/Methods:
Implements a Pylint checker that enforces the Google Python Style Guide, applying specific style rules by visiting AST nodes.
Related Classes/Methods:
shopify_python.google_styleguide:register_checkers(15:17)shopify_python.google_styleguide.GoogleStyleGuideChecker(20:352)
Implements a Pylint checker that enforces Shopify-specific coding style guidelines, validating naming conventions and comment structures.
Related Classes/Methods:
shopify_python.shopify_styleguide:register_checkers(12:14)shopify_python.shopify_styleguide.ShopifyStyleGuideChecker(17:83)
Provides utility functions for analyzing Abstract Syntax Trees (ASTs) of Python code, primarily for measuring code complexity or size.
Related Classes/Methods:
Provides utilities for interacting with Git repositories to identify changed Python files and integrates with external code analysis tools like autopep8 and pylint.
Related Classes/Methods: