coding-standard-python

Python Coding Standards (PEP 8)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "coding-standard-python" with this command: npx skills add jdubray/puffin/jdubray-puffin-coding-standard-python

Python Coding Standards (PEP 8)

When reviewing or generating Python code, follow these rules:

File Naming

  • Source files: Use snake_case (e.g., user_service.py , api_client.py )

  • Package directories: Use snake_case (e.g., data_processing/ , utils/ )

  • Test files: Use test_ prefix (e.g., test_user_service.py )

  • Config files: Use snake_case (e.g., config_settings.py )

Variable Naming

  • Variables: snake_case (e.g., user_name , is_active , total_count )

  • Constants: UPPER_SNAKE_CASE (e.g., MAX_RETRIES , API_BASE_URL )

  • Boolean variables: Prefix with is_ , has_ , can_ , should_ (e.g., is_loading , has_error )

  • Protected variables: Single underscore prefix (e.g., _internal_data )

  • Private variables: Double underscore prefix (e.g., __private_data )

Function Naming

  • Functions: snake_case (e.g., calculate_total() , fetch_user_data() )

  • Private functions: Prefix with underscore (e.g., _validate_input() , _process_data() )

  • Dunder methods: Double underscores (e.g., init , str , repr )

Class Naming

  • Classes: PascalCase (e.g., UserService , DataProcessor , ApiClient )

  • Exception classes: PascalCase with Error or Exception suffix (e.g., ValidationError )

  • Abstract classes: PascalCase, optionally prefix with Base or Abstract (e.g., BaseHandler )

Method Naming

  • Instance methods: snake_case (e.g., get_user() , process_data() )

  • Class methods: snake_case with @classmethod decorator

  • Static methods: snake_case with @staticmethod decorator

  • Properties: snake_case with @property decorator

Module Organization

  • Imports at the top: standard library, third-party, local imports (separated by blank lines)

  • Module-level dunder names after imports (all , version )

  • One class per file for large classes; multiple related classes okay for small ones

  • Use all to define public API

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

coding-standard-cpp

No summary provided by upstream source.

Repository SourceNeeds Review
General

coding-standard-java

No summary provided by upstream source.

Repository SourceNeeds Review
General

coding-standard-javascript

No summary provided by upstream source.

Repository SourceNeeds Review