Python Standards
Skill Profile
(Select at least one profile to enable specific modules)
Overview
Python coding standards define best practices for writing clean, maintainable, and robust Python code. This skill covers PEP 8 compliance, modern type hints with Python 3.10+ syntax, Pydantic models for validation, async/await patterns, structured logging, comprehensive error handling, dependency injection patterns, and testing strategies. Following these standards improves code quality, reduces bugs, enhances IDE support, and enables effective collaboration across Python projects.
Why This Matters
- Improves Code Quality: Type hints and validation catch errors early; PEP 8 compliance ensures consistent, readable code
- Reduces Bugs: Comprehensive error handling and proper validation prevent runtime exceptions and data corruption
- Enhances Maintainability: Clean code patterns and proper abstractions make code easier to understand, modify, and extend
- Enables Better Tooling: Type hints improve IDE autocomplete and error detection; linters catch issues automatically
- Supports AI/ML Development: Modern Python patterns (async, type hints, dataclasses) are essential for AI/ML workflows
- Facilitates Team Collaboration: Consistent coding standards make code reviews more effective and onboarding smoother for new team members
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
- Inputs:
- Python code files
- Requirements and dependencies
- API specifications
- Business requirements
- Entry Conditions:
- Python 3.11+ environment is configured
- Required packages are installed
- Project structure is established
- Outputs:
- Clean, PEP 8 compliant code
- Type-annotated code
- Validated data models
- Comprehensive test coverage
- Structured logging output
- Artifacts Required (Deliverables):
- Python source code
- Type stubs (.pyi files if needed)
- Test files with >80% coverage
- Pydantic models
- Logging configuration
- Acceptance Evidence:
- Code passes linting (Black, Ruff, Mypy)
- Type checking passes (Mypy strict mode)
- All tests pass (pytest)
- Test coverage >80%
- Code follows PEP 8 standards
- Success Criteria:
- Code is clean and maintainable
- Type hints are comprehensive
- Tests provide good coverage
- Logging is structured and contextual
- Error handling is comprehensive
Skill Composition
Quick Start / Implementation Example
- Review requirements and constraints
- Set up development environment
- Implement core functionality following patterns
- Write tests for critical paths
- Run tests and fix issues
- Document any deviations or decisions
# Example implementation following best practices
def example_function():
# Your implementation here
pass
Assumptions / Constraints / Non-goals
- Assumptions:
- Development environment is properly configured
- Required dependencies are available
- Team has basic understanding of domain
- Constraints:
- Must follow existing codebase conventions
- Time and resource limitations
- Compatibility requirements
- Non-goals:
- This skill does not cover edge cases outside scope
- Not a replacement for formal training
Compatibility & Prerequisites
- Supported Versions:
- Python 3.8+
- Node.js 16+
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Required AI Tools:
- Code editor (VS Code recommended)
- Testing framework appropriate for language
- Version control (Git)
- Dependencies:
- Language-specific package manager
- Build tools
- Testing libraries
- Environment Setup:
.env.example keys: API_KEY, DATABASE_URL (no values)
Test Scenario Matrix (QA Strategy)
| Type |
Focus Area |
Required Scenarios / Mocks |
| Unit |
Core Logic |
Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |
| Integration |
DB / API |
All external API calls or database connections must be mocked during unit tests |
| E2E |
User Journey |
Critical user flows to test |
| Performance |
Latency / Load |
Benchmark requirements |
| Security |
Vuln / Auth |
SAST/DAST or dependency audit |
| Frontend |
UX / A11y |
Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
2. Performance & Resources
3. Architecture & Scalability
4. Observability & Reliability
Agent Directives & Error Recovery
(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)
- Thinking Process: Analyze root cause before fixing. Do not brute-force.
- Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
- Self-Review: Check against Guardrails & Anti-patterns before finalizing.
- Output Constraints: Output ONLY the modified code block. Do not explain unless asked.
Definition of Done (DoD) Checklist
Anti-patterns / Pitfalls
- ⛔ Don't: Log PII, catch-all exception, N+1 queries
- ⚠️ Watch out for: Common symptoms and quick fixes
- 💡 Instead: Use proper error handling, pagination, and logging
Reference Links & Examples
- Internal documentation and examples
- Official documentation and best practices
- Community resources and discussions
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: python-standards3description: Python coding standards define best practices for writing clean, maintainable, Use when this capability is needed.4---56# Python Standards78## Skill Profile9*(Select at least one profile to enable specific modules)*10- [ ] **DevOps**11- [x] **Backend**12- [ ] **Frontend**13- [ ] **AI-RAG**14- [ ] **Security Critical**1516## Overview17Python coding standards define best practices for writing clean, maintainable, and robust Python code. This skill covers PEP 8 compliance, modern type hints with Python 3.10+ syntax, Pydantic models for validation, async/await patterns, structured logging, comprehensive error handling, dependency injection patterns, and testing strategies. Following these standards improves code quality, reduces bugs, enhances IDE support, and enables effective collaboration across Python projects.1819## Why This Matters20- **Improves Code Quality**: Type hints and validation catch errors early; PEP 8 compliance ensures consistent, readable code21- **Reduces Bugs**: Comprehensive error handling and proper validation prevent runtime exceptions and data corruption22- **Enhances Maintainability**: Clean code patterns and proper abstractions make code easier to understand, modify, and extend23- **Enables Better Tooling**: Type hints improve IDE autocomplete and error detection; linters catch issues automatically24- **Supports AI/ML Development**: Modern Python patterns (async, type hints, dataclasses) are essential for AI/ML workflows25- **Facilitates Team Collaboration**: Consistent coding standards make code reviews more effective and onboarding smoother for new team members2627---2829## Core Concepts & Rules3031### 1. Core Principles32- Follow established patterns and conventions33- Maintain consistency across codebase34- Document decisions and trade-offs3536### 2. Implementation Guidelines37- Start with the simplest viable solution38- Iterate based on feedback and requirements39- Test thoroughly before deployment404142## Inputs / Outputs / Contracts43* **Inputs**:44 - Python code files45 - Requirements and dependencies46 - API specifications47 - Business requirements48* **Entry Conditions**:49 - Python 3.11+ environment is configured50 - Required packages are installed51 - Project structure is established52* **Outputs**:53 - Clean, PEP 8 compliant code54 - Type-annotated code55 - Validated data models56 - Comprehensive test coverage57 - Structured logging output58* **Artifacts Required (Deliverables)**:59 - Python source code60 - Type stubs (.pyi files if needed)61 - Test files with >80% coverage62 - Pydantic models63 - Logging configuration64* **Acceptance Evidence**:65 - Code passes linting (Black, Ruff, Mypy)66 - Type checking passes (Mypy strict mode)67 - All tests pass (pytest)68 - Test coverage >80%69 - Code follows PEP 8 standards70* **Success Criteria**:71 - Code is clean and maintainable72 - Type hints are comprehensive73 - Tests provide good coverage74 - Logging is structured and contextual75 - Error handling is comprehensive7677## Skill Composition78* **Depends on**: [code-review](../code-review/SKILL.md), [api-design](../api-design/SKILL.md)79* **Compatible with**: [refactoring-strategies](../refactoring-strategies/SKILL.md), [error-handling](../03-backend-api/error-handling/SKILL.md)80* **Conflicts with**: None81* **Related Skills**: [fastapi-patterns](../03-backend-api/fastapi-patterns/SKILL.md), [validation](../03-backend-api/validation/SKILL.md)8283---8485## Quick Start / Implementation Example86871. Review requirements and constraints882. Set up development environment893. Implement core functionality following patterns904. Write tests for critical paths915. Run tests and fix issues926. Document any deviations or decisions9394```python95# Example implementation following best practices96def example_function():97 # Your implementation here98 pass99```100101102## Assumptions / Constraints / Non-goals103104* **Assumptions**:105 - Development environment is properly configured106 - Required dependencies are available107 - Team has basic understanding of domain108* **Constraints**:109 - Must follow existing codebase conventions110 - Time and resource limitations111 - Compatibility requirements112* **Non-goals**:113 - This skill does not cover edge cases outside scope114 - Not a replacement for formal training115116117## Compatibility & Prerequisites118119* **Supported Versions**:120 - Python 3.8+121 - Node.js 16+122 - Modern browsers (Chrome, Firefox, Safari, Edge)123* **Required AI Tools**:124 - Code editor (VS Code recommended)125 - Testing framework appropriate for language126 - Version control (Git)127* **Dependencies**:128 - Language-specific package manager129 - Build tools130 - Testing libraries131* **Environment Setup**:132 - `.env.example` keys: `API_KEY`, `DATABASE_URL` (no values)133134135## Test Scenario Matrix (QA Strategy)136137| Type | Focus Area | Required Scenarios / Mocks |138| :--- | :--- | :--- |139| **Unit** | Core Logic | Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |140| **Integration** | DB / API | All external API calls or database connections must be mocked during unit tests |141| **E2E** | User Journey | Critical user flows to test |142| **Performance** | Latency / Load | Benchmark requirements |143| **Security** | Vuln / Auth | SAST/DAST or dependency audit |144| **Frontend** | UX / A11y | Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |145146147## Technical Guardrails & Security Threat Model148149### 1. Security & Privacy (Threat Model)150* **Top Threats**: Injection attacks, authentication bypass, data exposure151- [ ] **Data Handling**: Sanitize all user inputs to prevent Injection attacks. Never log raw PII152- [ ] **Secrets Management**: No hardcoded API keys. Use Env Vars/Secrets Manager153- [ ] **Authorization**: Validate user permissions before state changes154155### 2. Performance & Resources156- [ ] **Execution Efficiency**: Consider time complexity for algorithms157- [ ] **Memory Management**: Use streams/pagination for large data158- [ ] **Resource Cleanup**: Close DB connections/file handlers in finally blocks159160### 3. Architecture & Scalability161- [ ] **Design Pattern**: Follow SOLID principles, use Dependency Injection162- [ ] **Modularity**: Decouple logic from UI/Frameworks163164### 4. Observability & Reliability165- [ ] **Logging Standards**: Structured JSON, include trace IDs `request_id`166- [ ] **Metrics**: Track `error_rate`, `latency`, `queue_depth`167- [ ] **Error Handling**: Standardized error codes, no bare except168- [ ] **Observability Artifacts**:169 - **Log Fields**: timestamp, level, message, request_id170 - **Metrics**: request_count, error_count, response_time171 - **Dashboards/Alerts**: High Error Rate > 5%172173174## Agent Directives & Error Recovery175*(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)*176177- **Thinking Process**: Analyze root cause before fixing. Do not brute-force.178- **Fallback Strategy**: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.179- **Self-Review**: Check against Guardrails & Anti-patterns before finalizing.180- **Output Constraints**: Output ONLY the modified code block. Do not explain unless asked.181182183## Definition of Done (DoD) Checklist184185- [ ] Tests passed + coverage met186- [ ] Lint/Typecheck passed187- [ ] Logging/Metrics/Trace implemented188- [ ] Security checks passed189- [ ] Documentation/Changelog updated190- [ ] Accessibility/Performance requirements met (if frontend)191192193## Anti-patterns / Pitfalls194195* ⛔ **Don't**: Log PII, catch-all exception, N+1 queries196* ⚠️ **Watch out for**: Common symptoms and quick fixes197* 💡 **Instead**: Use proper error handling, pagination, and logging198199200## Reference Links & Examples201202* Internal documentation and examples203* Official documentation and best practices204* Community resources and discussions205206207## Versioning & Changelog208209* **Version**: 1.0.0210* **Changelog**:211 - 2026-02-22: Initial version with complete template structure212213---214> Converted and distributed by [TomeVault](https://tomevault.io/claim/amnadtaowsoam) — claim your Tome and manage your conversions.215<!-- tomevault:4.0:skill_md:2026-04-13 -->