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
.gitignore
adapté (voir github/gitignore/python). - Documentez vos fonctions avec des docstrings.
- Versionnez votre code avec git.
- Ajoutez un fichier
pyproject.toml
pour 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
.