Comment publier des packages Python sur PyPI à l’aide de Poetry sur Ubuntu 22.04



Introduction

Le Python Package Index (PyPI) représente la plateforme de référence pour le partage et la distribution de paquets Python. Il offre aux développeurs un espace collaboratif pour diffuser et réutiliser du code, optimisant ainsi le travail d’équipe et l’efficacité. Poetry, un outil de gestion de paquets Python, simplifie la création, la diffusion et la maintenance des packages Python. Ce tutoriel détaille, étape par étape, la méthode de publication de packages Python sur PyPI en utilisant Poetry sous Ubuntu 22.04.

Prérequis

Création d’un Nouveau Projet Poetry

  1. Créez un nouveau répertoire pour votre projet :
    mkdir mon_paquet
    cd mon_paquet
  2. Initialisez un nouveau projet Poetry :
    poetry init
  3. Configurez les dépôts Poetry pour PyPI et Test PyPI :
    poetry config repositories.pypi https://upload.pypi.org/legacy/
    poetry config repositories.testpypi https://test.pypi.org/legacy/

Développement du Package Python

  1. Créez un fichier nommé __init__.py dans le répertoire mon_paquet. Cela indique que ce répertoire est un package Python.
  2. Développez votre code à l’intérieur du fichier mon_paquet/__init__.py. Voici un exemple :

    def salutation():
    print("Bonjour le monde!")

Génération Automatique du fichier setup.py

Poetry se charge de générer automatiquement un fichier setup.py à partir des informations contenues dans le fichier pyproject.toml. Il est cependant possible de modifier ce fichier manuellement pour ajouter des informations ou ajuster les paramètres de publication.

Personnalisation des Métadonnées du Package

Dans le fichier setup.py, vous pouvez préciser des informations essentielles concernant votre package. Cela inclut son nom, sa version, sa description, le nom de l’auteur, son adresse email et l’URL du projet. Voici un exemple :


from setuptools import setup

setup(
name='mon_paquet',
version='1.0.0',
description='Exemple de package Python',
author='Votre Nom',
author_email='votre.email@exemple.com',
url='https://exemple.com/mon-paquet',
packages=['mon_paquet'],
entry_points={
'console_scripts': [
'mon_script=mon_paquet:main',
],
},
)

Mise en Ligne du Package sur PyPI
  1. Assurez-vous que votre package a été testé et qu’il est prêt à être diffusé.
  2. Générez une distribution du package :
    poetry build
  3. Téléversez la distribution sur PyPI :
    poetry publish
  4. Saisissez les informations d’authentification PyPI quand elles sont demandées.

Publication du Package sur Test PyPI

Test PyPI est un espace de test qui permet de valider le fonctionnement des packages avant leur mise en ligne sur PyPI. Il est fortement recommandé de l’utiliser pour s’assurer du bon fonctionnement de votre package.

  1. Configurez le dépôt Test PyPI dans Poetry :
    poetry config repositories.testpypi https://test.pypi.org/legacy/
  2. Diffusez votre package sur Test PyPI :
    poetry publish -r testpypi
  3. Testez votre package sur Test PyPI en l’installant :
    pip install --index-url https://test.pypi.org/simple/ mon_paquet
  4. Effectuez des tests sur le package installé.

Conclusion

Ce tutoriel a décrit les étapes nécessaires pour publier des packages Python sur PyPI avec l’aide de Poetry sous Ubuntu 22.04. En suivant ces instructions, vous pouvez partager votre code, collaborer avec d’autres développeurs et enrichir l’écosystème Python. Poetry simplifie grandement le processus de création, de diffusion et de maintenance des packages, vous permettant de vous concentrer sur la production de code de qualité.

Questions Fréquentes

  1. Pourquoi choisir Poetry pour la publication de packages Python sur PyPI ?
    Poetry offre une gestion simplifiée des dépendances, automatise la création de fichiers de configuration et propose une interface utilisateur conviviale.
  2. Est-il possible de publier des packages Python sans Poetry ?
    Oui, mais cela requiert une approche plus manuelle et une connaissance approfondie de la structure des packages Python.
  3. Quels sont les avantages de publier sur Test PyPI ?
    Test PyPI permet de tester les packages avant leur diffusion publique, réduisant ainsi les risques d’erreurs inattendues.
  4. Comment gérer les dépendances dans le fichier setup.py ?
    Utilisez l’argument install_requires pour spécifier les dépendances requises par votre package.
  5. Comment automatiser la publication de packages ?
    Vous pouvez employer des outils CI/CD comme GitHub Actions ou Travis CI pour automatiser les phases de construction, de test et de publication.
  6. Où puis-je trouver de l’aide supplémentaire ?
    Consultez la documentation de Poetry (https://python-poetry.org/docs/) et le site officiel de PyPI (https://pypi.org/).
  7. Comment mettre à jour un package publié sur PyPI ?
    Augmentez le numéro de version dans le fichier pyproject.toml et republiez le package en utilisant Poetry.
  8. Quelles sont les bonnes pratiques pour la publication de packages Python ?
    Utilisez un nom de package unique, rédigez une description claire et précise, testez votre package rigoureusement et respectez les directives de style PEP 8.