Titre : Créer des packages Python et les partager avec pip


Introduction

Créer un package Python vous permet de structurer votre code, de le réutiliser dans d'autres projets, et surtout de le partager avec le monde entier via PyPI (Python Package Index). Que ce soit pour des outils internes, des bibliothèques open-source ou des modules personnels, savoir emballer, documenter et publier un package Python est une compétence précieuse.

Dans cet article, vous allez apprendre à créer un package Python, à le structurer correctement, à créer un fichier setup.py, à le transformer en distribution, et enfin à le publier sur PyPI avec pip.


1. Créer la structure de base du package

Exemple de structure :

mon_package/
├── mon_package/
│   ├── __init__.py
│   └── outils.py
├── tests/
│   └── test_outils.py
├── README.md
├── setup.py
└── pyproject.toml

  • __init__.py : rend le dossier importable comme module.
  • outils.py : votre code.
  • setup.py : métadonnées et instructions d'installation.
  • README.md : description affichée sur PyPI.
  • pyproject.toml : standard moderne pour la construction.

2. Écrire votre code Python

mon_package/outils.py

def bonjour(nom):
    return f"Bonjour, {nom} !"


3. Ajouter un fichier init.py

mon_package/init.py

from .outils import bonjour

Cela permet d’utiliser :

from mon_package import bonjour


4. Créer le fichier setup.py

from setuptools import setup, find_packages

setup(
    name='mon-package-demo',
    version='0.1',
    description='Un petit package de démonstration',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    author='Votre Nom',
    author_email='votre@email.com',
    packages=find_packages(),
    install_requires=[],
    classifiers=[
        'Programming Language :: Python :: 3',
        'License :: OSI Approved :: MIT License'
    ],
    python_requires='>=3.6',
)


5. Ajouter pyproject.toml (optionnel mais recommandé)

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"


6. Créer un fichier README.md

# Mon Package Demo

Un exemple de package Python simple.


7. Construire le package

Installez les outils de packaging si ce n’est pas déjà fait :

pip install setuptools wheel

Puis :

python setup.py sdist bdist_wheel

Cela génère les dossiers dist/ et build/.


8. Publier sur PyPI

Étape 1 : créer un compte sur https://pypi.org

Étape 2 : installer Twine

pip install twine

Étape 3 : envoyer votre package

twine upload dist/*

On vous demandera vos identifiants PyPI. Si tout se passe bien, votre package est publié !


9. Tester votre package (optionnel)

Avant de publier sur le vrai PyPI, vous pouvez tester sur TestPyPI :

bashCopierModifier
twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Et installez avec :

pip install --index-url https://test.pypi.org/simple/ mon-package-demo

10. Mettre à jour votre package

Pour publier une nouvelle version :

  1. Modifiez le champ version dans setup.py
  2. Supprimez dist/ et build/ si nécessaire
  3. Reconstruisez et republiez avec Twine

Conclusion

Créer et partager votre propre package Python est un excellent moyen de structurer vos projets, de gagner du temps, et de contribuer à l’écosystème open-source. Grâce à setuptools, twine, et pip, tout est prêt pour rendre vos idées accessibles au monde entier en quelques commandes seulement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *