Files
flowdeck/pyproject.toml
bruno 3a74ea8bbd
FlowDeck CI / lint (push) Canceled after 0s
FlowDeck CI / test (push) Canceled after 0s
FlowDeck CI / docker (push) Canceled after 0s
fix: A35 TERMINÉ — drift Python 3.12→3.13 aligné, rebuild validé (v7.35.0)
Dernier reliquat de l'A35 (docs/périmètre dérivés) :

- Dockerfile : python:3.12-slim → python:3.13-slim (builder + runtime)
- .gitea/workflows/ci.yml : python-version '3.12' → '3.13' (lint + test)
- README.md : « Python 3.12 » et « python:3.12-slim » → 3.13 (×2)
- pyproject.toml : ruff target-version py312 → py313 (0 nouvelle
  remarque ruff)
- zéro référence 3.12 résiduelle ; uv.lock (requires-python >=3.13) et
  le venv (3.13.14) étaient déjà bons

Validation (le point laissé « à faire par un rebuild d'image ») :
- docker build VERT sur python:3.13-slim → image flowdeck:a35-py313
- dans le conteneur : python -V = 3.13.16, `import app.main` OK
  (v7.35.0) → wheels requirements.txt construits + importables sur 3.13

A35 = TERMINÉ (OpenAPI/README/titre dupliqué faits en 7.3.9 + drift).

suite **1093/1093** · ruff OK (target py313) · docs à jour
2026-10-02 09:39:02 -04:00

35 lines
1.0 KiB
TOML

[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
# Parallel execution (pytest-xdist) is OPT-IN so a bare `pytest` never fails
# when xdist is not installed. Run locally with `pytest -n auto`; CI passes
# `-n auto` explicitly after installing requirements-dev.txt.
[tool.ruff]
target-version = "py313"
line-length = 110
exclude = [".venv", ".venv311", ".pytest_cache", "static/js/vendor"]
[tool.ruff.lint]
# E/F: pyflakes + pycodestyle errors · I: isort · UP: pyupgrade · B: bugbear
# W: whitespace. E501 ignored (line length is enforced by black, not here).
select = ["E", "F", "I", "UP", "B", "W"]
ignore = ["E501", "UP035"]
[tool.ruff.lint.isort]
known-first-party = ["app", "tests"]
[tool.ruff.lint.flake8-bugbear]
# FastAPI requires dependency markers (Depends, Query, ...) in argument
# defaults — that is not the bug B008 warns about.
extend-immutable-calls = [
"fastapi.Depends",
"fastapi.Query",
"fastapi.Path",
"fastapi.Body",
"fastapi.Form",
"fastapi.File",
"fastapi.Header",
"fastapi.Cookie",
]