Files
kanbante/pyproject.toml
T
Spark 28322c12cf
CI / test (push) Successful in 2m17s
feat(0.30.0): colonnes personnalisables par espace + mapping étiquette ↔ colonne
- Table board_columns par espace (clé immuable, nom/couleur/
  ordre libres, étiquette mappée + alias, drapeau Focus) ;
  définitions semées paresseusement depuis les valeurs
  historiques — sans personnalisation, comportement identique.
- Service app/board_columns.py : résolution, mapping
  étiquette→colonne (alias compris, ex. kanban_a_faire de
  Flowdeck), colonnes Focus/Wallboard.
- Board, API, adoption, miroirs d'étiquettes, déplacements,
  capture, santé, focus, wall, dashboard branchés sur les
  colonnes de l'espace ; validations dynamiques dans models
  (move_issue, set_column_order) et rules.
- Administration → Colonnes : ajouter (avant Terminé),
  renommer, réordonner, mapper, supprimer avec migration des
  cartes vers une colonne choisie, réinitialiser ; bouton
  🧱 Colonnes sur le board ; journal d'audit.
- Backlog et Terminé : colonnes système non supprimables.
- 254 tests verts (7 nouveaux, palier 20) ; smoke réel contre
  le vrai Gitea : création, affichage au board, suppression.
2026-10-23 08:38:02 -04:00

32 lines
766 B
TOML

[project]
name = "kanbante"
version = "0.30.0"
description = "Kanban project manager integrated with Gitea"
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.115",
"uvicorn[standard]>=0.32",
"jinja2>=3.1,<4",
"httpx>=0.28",
"python-dotenv>=1.0",
"python-multipart>=0.0.18",
"cryptography>=42",
]
[tool.setuptools.packages.find]
include = ["app*"]
[project.optional-dependencies]
dev = [
"pytest>=8",
"pytest-asyncio>=0.24",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
# Always put the repo root on sys.path: the plain `pytest` binary (CI)
# does not add the CWD, unlike `python -m pytest` — without this,
# `from tests.conftest import ...` fails at collection time in CI.
pythonpath = ["."]