Last active
June 26, 2025 23:40
-
-
Save pagueru/cc730cacded7220039a3356eaa9d3d5b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[project] | |
name = "project-name" | |
version = "0.1.0" | |
description = "" | |
authors = [ | |
{ name = "Raphael Coelho", email = "[email protected]" } | |
] | |
readme = "README.md" | |
requires-python = ">=3.12" | |
dependencies = [ | |
"pyyaml>=6.0.2", | |
] | |
[project.optional-dependencies] | |
dev = [ | |
"ruff>=0.11.0", | |
"pytest>=8.3.4", | |
"pre-commit>=4.2.0", | |
"pytest-cov>=6.0.0", | |
] | |
[project.urls] | |
repository = "https://github.com/pagueru" | |
[tool.ruff] | |
fix = true # Ativa correções automáticas | |
target-version = "py313" # Compatível com Python 3.13 | |
line-length = 100 # Comprimento máximo da linha | |
[tool.ruff.lint] | |
select = ["ALL"] # Ativa todas as regras de linting, análise e estilo | |
ignore = [ | |
# Conflitos de formatação - resolvidos automaticamente pelo formatador | |
"D203", # Conflito com D211: linha em branco antes da docstring da classe | |
"D212", # Conflito com D213: resumo da docstring deve estar na primeira linha | |
"COM812", # Vírgula ausente - já gerenciada pelo formatador automático | |
"ISC001", # Concatenação implícita de strings - formatador resolve automaticamente | |
"G004", # Logging f-string - permite uso mais legível que % formatting | |
# Depuração e desenvolvimento - flexibilidade para ambiente de desenvolvimento | |
"S101", # Permite assert statements para testes e validações rápidas | |
"T201", # Permite print() para depuração e logging temporário | |
"T203", # Permite pprint() para visualização de estruturas de dados complexas | |
"ERA001", # Permite código comentado temporariamente durante desenvolvimento | |
# Flexibilidade de tipagem e performance | |
"PERF401", # Permite for-loops em vez de list comprehensions para maior clareza | |
"ANN401", # Permite typing.Any quando flexibilidade de tipo é necessária | |
"TRY003", # Permite mensagens de exceção longas inline para contexto detalhado | |
"EM101", # Permite string literals em exceções para simplicidade | |
# Segurança - casos específicos controlados | |
"S105", # Permite hardcoded passwords em configurações de desenvolvimento/teste | |
# Convenções de nomenclatura - flexibilidade para casos especiais | |
"RUF001", # Permite caracteres ambíguos (EN DASH) em strings quando necessário | |
"N999", # Permite nomes de módulos fora do padrão snake_case para casos especiais | |
# Docstrings - permissões temporárias durante desenvolvimento inicial | |
"D100", # Docstring obrigatória em módulos públicos - aplicar gradualmente | |
"D101", # Docstring obrigatória em classes públicas - aplicar gradualmente | |
"D102", # Docstring obrigatória em métodos públicos - aplicar gradualmente | |
"D103", # Docstring obrigatória em funções públicas - aplicar gradualmente | |
"D107", # Docstring obrigatória em métodos __init__ - aplicar gradualmente | |
# Imports - flexibilidade para estruturação de módulos | |
"F401", # Imports não utilizados - comum em __init__.py e módulos de interface | |
# Comentários TODO/FIXME - permite marcadores sem metadados rigorosos | |
"TD001", # TOD0 sem descrição detalhada - permite marcação rápida | |
"TD002", # TOD0 sem autor - evita overhead em projetos pequenos | |
"TD003", # TOD0 sem link para issue - permite uso informal | |
"FIX001", # FIXME sem descrição detalhada - permite marcação rápida | |
"FIX002", # FIXME sem ser tratado como erro crítico - permite graduação | |
"FIX003", # FIXME sem link para issue - permite uso informal | |
] | |
[tool.ruff.lint.pydocstyle] | |
convention = "google" # Exigir docstrings ("numpy" ou "pep257") | |
[tool.pytest.ini_options] | |
pythonpath = [".","src"] # Diretórios no PYTHONPATH | |
[tool.hatch.build.targets.wheel] | |
packages = [".","src"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment