0Pricing
Python Academy · Leçon

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 une license
  • Ajoutez des classifiers et [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

  1. Structure du projet et pyproject.toml
  2. Construire avec build
  3. Gestion des versions et des métadonnées
  4. Publier avec twine
← Retour à Python Academy