Python best practices e styleguide
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: python-best-practices description: Python best practices e styleguide triggers: [python, pep8, ruff, black, flake8, mypy, type hints] sources:
- https://docs.astral.sh/ruff/
- https://github.com/kennethreitz/python-guide
- https://github.com/wemake-services/wemake-python-styleguide
- https://github.com/vinta/awesome-python
Python Best Practices
Convenções e styleguide para código Python.
Type Hints
SEMPRE usar type hints em todas as assinaturas de função:
from typing import Optional, List, Dict, Any
def process_data(
user_id: int,
data: Dict[str, Any],
optional_param: Optional[str] = None
) -> List[Dict[str, Any]]:
"""Processa dados do usuário."""
return []
Estrutura de Módulos
Regra de Múltiplas Classes
Quando um módulo tem mais de uma classe, cada classe deve estar em um arquivo separado:
# ❌ ERRADO
utils/validators.py:
- EmailValidator
- PhoneValidator
- URLValidator
# ✅ CORRETO
utils/validators/
├── __init__.py
├── email.py
├── phone.py
└── url.py
Code Style
Black (Formatação)
black .
isort (Imports)
isort .
flake8 (Linting)
flake8 .
mypy (Type Checking)
mypy src/
Estrutura de Projeto
project/
├── src/
│ ├── app/
│ │ ├── __init__.py
│ │ ├── main.py
│ │ └── modules/
│ └── tests/
├── requirements/
│ ├── base.txt
│ ├── dev.txt
│ └── prod.txt
└── pyproject.toml
Checklist
- Type hints em todas as funções
- Múltiplas classes em módulos separados
- Ruff para lint e formatação (
ruff check . --fixeruff format .) - mypy para type checking
More by LucasBiason
View allGera resumos didáticos extensos e estruturados de aulas/cursos para cards do Notion. Use ao resumir aulas, apostilas, transcrições ou materiais de estudo para incluir no corpo do card (não apenas no campo Descrição), com flashcards, exemplos de código, diagramas Mermaid, mapa conceitual e perguntas de reforço.
Ruff como linter e formatter padrão para Python (substitui Flake8, Black, isort)
Gera critérios de aceite Given/When/Then para requisitos funcionais. Inclui happy path, edge cases e falhas.
Padroniza documentação existente no formato canônico Spec-Driven. Remove duplicação e melhora rastreabilidade.
