Définition des standards Python
Description du projet
Définition et mise en œuvre des standards pour les projets Python de l'équipe, via un template Cookiecutter maintenu et évolutif. Objectif : garantir une structure moderne, une qualité de code élevée, des tests systématiques, une CI/CD automatisée et une documentation accessible.
Réalisations principales
- Création et maintenance d'un template Cookiecutter pour projets Python (scripts, modules, applications)
- Adoption d'une stack moderne : uv pour les dépendances, pytest pour les tests, ruff pour le linting/formatage, Docker pour la containerisation
- Mise en place de workflows GitHub Actions pour CI/CD (lint, tests, build, release, déploiement)
- Intégration de pre-commit hooks pour la qualité et la cohérence du code
- Structuration des projets : README, LICENSE, tests, docstrings, type hints, versioning automatique
- Support multi-projets : scripts utilitaires, modules réutilisables, applications long-running
Stack technique
- Python 3.11+ : Langage principal, typage moderne, docstrings
- uv : Gestion ultra-rapide des dépendances, remplace Poetry
- pytest & pytest-cov : Tests unitaires, couverture
- ruff : Linting et formatage, remplace Black/isort/flake8
- pre-commit : Hooks pour vérification automatique
- Docker : Containerisation, développement et production
- GitHub Actions : CI/CD complète (lint, test, build, release, deploy)