Skip to content

Latest commit

 

History

History
161 lines (121 loc) · 4.32 KB

File metadata and controls

161 lines (121 loc) · 4.32 KB

Guide de Migration : requirements.txt → pyproject.toml

🎯 Objectif

Ce guide vous aide à passer progressivement de l'ancienne approche (requirements.txt) à la nouvelle (pyproject.toml).

📋 Phase 1 : Démarrage avec requirements.txt (Semaines 1-2)

✅ Workflow Familier

# Installation simple
uv pip install -r requirements.txt

# Installation avec dev dependencies
uv pip install -r requirements-dev.txt

🚀 Script de Setup Automatique

# Utiliser le script fourni
./setup-dev.sh

📝 Avantages

  • ✅ Vous connaissez déjà cette approche
  • ✅ Pas de confusion au début
  • ✅ Focus sur le développement du chatbot
  • ✅ Installation rapide et fiable

📋 Phase 2 : Découverte de pyproject.toml (Semaines 3-4)

🔍 Comparaison des Commandes

requirements.txt pyproject.toml Avantage
uv pip install -r requirements.txt uv pip install -e ".[dev]" Installation en mode développement
pip freeze > requirements.txt Automatique avec pyproject.toml Pas de gestion manuelle
Fichiers séparés Tout dans un fichier Configuration centralisée

🛠️ Commandes Équivalentes

Installation

# Ancienne méthode
uv pip install -r requirements.txt
uv pip install -r requirements-dev.txt

# Nouvelle méthode
uv pip install -e ".[dev]"  # Installe tout d'un coup

Ajout de Package

# Ancienne méthode
uv pip install new-package
pip freeze > requirements.txt

# Nouvelle méthode
uv pip install new-package
# Puis éditer pyproject.toml manuellement

Tests et Qualité

# Les deux méthodes supportent
pytest                    # Tests
black .                   # Formatage
ruff check --fix         # Linting
mypy formchat/           # Types

📋 Phase 3 : Transition Complète (Semaine 5+)

🔄 Quand passer à pyproject.toml ?

Signes que vous êtes prêt :

  • ✅ Vous êtes à l'aise avec le développement FormChat
  • ✅ Vous voulez distribuer votre package
  • ✅ Vous voulez des scripts CLI intégrés
  • ✅ Vous voulez une configuration centralisée

🎯 Avantages de pyproject.toml

1. Scripts CLI Intégrés

# Après installation avec pyproject.toml
formchat --help              # Aide générale
formchat-dev start          # Mode développement
formchat-setup init         # Configuration initiale

2. Installation en Mode Développement

# Installation avec liens symboliques
uv pip install -e ".[dev]"

# Avantage : modifications du code immédiatement visibles
# Pas besoin de réinstaller après chaque changement

3. Configuration Centralisée

# Tout dans un fichier
[project]
name = "formchat"
dependencies = [...]
scripts = {...}

[tool.black]
line-length = 88

[tool.pytest.ini_options]
testpaths = ["tests"]

🛠️ Actions Pratiques

✅ Garder les Deux (Recommandé)

# Vous pouvez utiliser les deux en parallèle
uv pip install -r requirements.txt        # Ancienne méthode
uv pip install -e ".[dev]"               # Nouvelle méthode

🔄 Migration Graduelle

  1. Semaine 1-2 : Utiliser requirements.txt
  2. Semaine 3 : Tester pyproject.toml sur une branche
  3. Semaine 4+ : Choisir votre préférence

📚 Ressources d'Apprentissage


🎯 Recommandation Finale

Pour FormChat :

  1. Commencez avec requirements.txt (vous connaissez déjà)
  2. Apprenez pyproject.toml progressivement (quand vous avez le temps)
  3. Gardez les deux jusqu'à ce que vous soyez à l'aise
  4. Migrez quand vous êtes prêt (pas de pression !)

L'important : Le développement de votre chatbot FormChat ne doit pas être ralenti par l'apprentissage de nouveaux outils. Utilisez ce qui vous met à l'aise !


🆘 Support

Si vous avez des questions :

  • 📧 Créez une issue sur GitHub
  • 📖 Consultez la documentation Python officielle
  • 🤝 Demandez de l'aide dans la communauté

Rappel : Il n'y a pas de "bonne" ou "mauvaise" méthode. L'important est de développer efficacement votre chatbot !