DevOps
PyPI
Créer et déployer un package python sur PyPI
Publier un package sur PyPI permet de le rendre accessible à toute la communauté Python via pip install. Voici les étapes détaillées pour créer, packager et publier votre module.
Créer un package en python
Organisez votre projet comme ceci :
mon_package/
├── mon_package/
│ ├── __init__.py
│ └── core.py
├── tests/
│ └── test_core.py
├── setup.py
├── README.md
└── LICENSE
Mettre en place le setup.py
Exemple minimal :
from setuptools import setup, find_packages
setup(
name="mon_package",
version="0.1.0",
description="Un exemple de package Python",
author="Votre Nom",
packages=find_packages(),
install_requires=[],
python_requires=">=3.7",
)
Ajoutez un fichier README.md pour la description longue, et un fichier LICENSE (MIT, Apache2, etc).
Bonnes pratiques
- Ajoutez des tests unitaires dans le dossier
tests/. - Utilisez un
.gitignoreadapté (voir github/gitignore/python). - Documentez vos fonctions avec des docstrings.
- Versionnez votre code avec git.
- Ajoutez un fichier
pyproject.tomlpour la compatibilité avec les outils modernes :
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
Déploiement sur la plateforme
- Installez les outils nécessaires :
pip install build twine - Générez les artefacts :
python -m build # ou python setup.py sdist bdist_wheel - Publiez sur TestPyPI pour tester :
twine upload --repository testpypi dist/* # puis vérifiez sur https://test.pypi.org/project/mon_package/ - Publiez sur PyPI :
twine upload dist/* # puis vérifiez sur https://pypi.org/project/mon_package/
Intégration avec libraries.io
libraries.io référence automatiquement les packages publiés sur PyPI. Pour améliorer la visibilité :
- Ajoutez un lien vers le repo GitHub dans le champ url de setup.py.
- Ajoutez des badges (PyPI version, build, etc) dans votre README.md.