- Config ruff dans pyproject.toml : règles E/W/F/I/UP/B, whitelist des appels d'injection FastAPI (Depends/File/Form/Query) pour B008, B904 ignoré (traduction volontaire des exceptions en réponses HTTP) - Auto-fixes : tri des imports, suppression d'imports inutilisés, annotations PEP 604, f-strings sans placeholder, modes open redondants - Suppression de variables inutilisées (config.reset_setting, parser locataires) ruff check . : All checks passed ; 61 tests OK Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
1.2 KiB
TOML
57 lines
1.2 KiB
TOML
[project]
|
|
name = "plesna-gerance"
|
|
version = "0.1.0"
|
|
description = "Extracteur de comptes rendus de gérance Oralia/ICS"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"click>=8.0",
|
|
"fastapi>=0.100.0",
|
|
"uvicorn[standard]>=0.20.0",
|
|
"python-multipart>=0.0.6",
|
|
"sqlalchemy>=2.0.0",
|
|
"httpx>=0.24.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
plesna-gerance = "plesna_gerance.cli:main"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"ruff>=0.6",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
pythonpath = ["src"]
|
|
addopts = "-q"
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 88
|
|
src = ["src", "tests"]
|
|
|
|
[tool.ruff.lint]
|
|
# E/W: pycodestyle, F: pyflakes, I: isort, UP: pyupgrade, B: bugbear
|
|
select = ["E", "W", "F", "I", "UP", "B"]
|
|
ignore = [
|
|
"E501", # longueur de ligne gérée par le formateur, pas bloquante
|
|
"B904", # raise sans `from` : on traduit volontairement les exceptions en HTTP
|
|
]
|
|
|
|
[tool.ruff.lint.flake8-bugbear]
|
|
# Appels idiomatiques FastAPI en argument par défaut (injection de dépendances)
|
|
extend-immutable-calls = [
|
|
"fastapi.Depends",
|
|
"fastapi.File",
|
|
"fastapi.Form",
|
|
"fastapi.Query",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/plesna_gerance"]
|