Gestion des versions et des métadonnées
Gérer les métadonnées d’un paquet
Gestion des versions et des métadonnées est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.
Pourquoi les métadonnées sont importantes
Les métadonnées regroupent tout ce qui concerne votre paquet, à l'exception du code : sa version, sa description, sa licence, son auteur et ses liens. PyPI les utilise pour présenter votre projet, et pip s'en sert pour résoudre les dépendances.
De bonnes métadonnées rendent votre paquet fiable et installable.
Gestion sémantique des versions
La convention est MAJOR.MINOR.PATCH :
- MAJOR, changements incompatibles
- MINOR, nouvelles fonctionnalités compatibles avec les versions précédentes
- PATCH, corrections de bogues compatibles avec les versions précédentes
Les utilisateurs s'appuient sur cette convention pour savoir si une mise à niveau est sûre.
version = '2.4.1'
major, minor, patch = version.split('.')
print('Major', major, 'Minor', minor, 'Patch', patch)
print('Bug fix -> bump patch to', major + '.' + minor + '.' + str(int(patch) + 1))Choisir la prochaine version
Décider du bump repose sur des règles : avez-vous rompu l'interface de programmation, ajouté une fonctionnalité ou simplement corrigé un bogue ? Formaliser la règle rend les publications cohérentes.
def bump(version, kind):
major, minor, patch = (int(x) for x in version.split('.'))
if kind == 'major':
return str(major + 1) + '.0.0'
if kind == 'minor':
return str(major) + '.' + str(minor + 1) + '.0'
return str(major) + '.' + str(minor) + '.' + str(patch + 1)
print(bump('1.2.3', 'minor'))
print(bump('1.2.3', 'major'))Versions préliminaires et de développement
Python autorise les suffixes : 1.0.0a1 (alpha), 1.0.0b2 (bêta), 1.0.0rc1 (version candidate) et 1.0.0.dev3. pip les considère comme antérieures à la version finale 1.0.0 ; les personnes chargées des essais peuvent donc les utiliser sans affecter les utilisateurs habituels.
Source unique de vérité
Conservez la version à un seul endroit. Déclarez-la soit statiquement dans pyproject.toml, soit comme dynamic et lisez-la depuis le code (ou une balise) à l'aide d'outils comme setuptools-scm. Deux copies finissent inévitablement par diverger.
Description et README
Une courte description apparaît dans les résultats de recherche. La description longue provient de votre readme (généralement README.md) et est affichée comme page du projet sur PyPI. Indiquez-la avec readme = 'README.md'.
Un README clair est votre meilleur outil de promotion.
Licence
Déclarez une licence afin que les utilisateurs connaissent leurs droits. Les projets modernes utilisent une expression SPDX telle que license = 'MIT'. En l'absence de licence, tous les droits sont réservés, ce qui décourage l'adoption.
popular = ['MIT', 'Apache-2.0', 'BSD-3-Clause', 'GPL-3.0-only']
for lic in popular:
print('SPDX:', lic)Classifieurs
Les classifiers sont des étiquettes normalisées provenant de la liste de PyPI, comme 'Programming Language :: Python :: 3.11' ou 'Development Status :: 4 - Beta'. Ils alimentent les filtres de PyPI et indiquent le niveau de maturité ainsi que les versions prises en charge.
URL du projet
Dans [project.urls], ajoutez des liens tels que Accueil, Documentation, Code source et Journal des modifications. Ils apparaissent dans une barre latérale sur PyPI et aident les utilisateurs à trouver votre dépôt et votre documentation.
urls = {
'Homepage': 'https://example.com',
'Source': 'https://github.com/me/mytool',
'Issues': 'https://github.com/me/mytool/issues',
}
for label, link in urls.items():
print(label.ljust(10), link)Mots-clés pour faciliter la découverte
Le champ keywords est une liste de termes courts qui aident les utilisateurs à trouver votre paquet dans les recherches. Choisissez des mots que les utilisateurs saisiraient réellement, comme ['cli', 'automation', 'excel'], plutôt que des termes génériques sans intérêt.
Avec les classifieurs, les mots-clés améliorent la visibilité de votre projet.
Un journal des modifications
Tenez à jour un CHANGELOG qui consigne les changements de chaque version. Les utilisateurs le consultent avant une mise à niveau pour prendre connaissance des nouvelles fonctionnalités et des changements incompatibles. En l'ajoutant sous [project.urls], vous le rendez accessible en un clic depuis la page PyPI.
Un bon journal des modifications transforme un numéro de version en récit que les utilisateurs peuvent suivre.
Vérification rapide
Évaluez vos connaissances sur le versionnement.
Récapitulatif
Vous avez géré les métadonnées d’un paquet :
- Versionnement sémantique MAJOR.MINOR.PATCH, ainsi que les suffixes de prépublication
- Conservez la version dans une source unique de vérité
- Fournissez une
description, une description longue provenant du README et unelicense - Ajoutez des
classifierset[project.urls]pour que PyPI présente bien votre projet
Questions Fréquemment Posées
La leçon « Gestion des versions et des métadonnées » est-elle gratuite ?
Oui — le texte complet de « Gestion des versions et des métadonnées » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Gestion des versions et des métadonnées » ?
Gérer les métadonnées d’un paquet Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python Academy ?
Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Gestion des versions et des métadonnées » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?
Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Structure du projet et pyproject.toml
- Construire avec build
- Gestion des versions et des métadonnées
- Publier avec twine