Créer un module Python sur PyPi
Vous installiez des modules avec pip, maintenant vous allez créer les vôtres. Package Python sur mesure.

Introduction
Ce guide explique comment préparer, construire et publier un package Python sur PyPI en utilisant twine
et build
qui sont eux aussi des package déployés sur PyPi mdrr. Ducoup on va voir ça plus en détail
1. Prérequis
Avant de commencer, assure-toi d'avoir :
- Python 3.6 ou supérieur installé
-
pip
,setuptools
,twine
etbuild
installés :
bash
pip install --upgrade pip setuptools twine build
- Un compte sur PyPI
- Un jeton API PyPI si nécessaire (Générer un jeton API)
2. Structure d'un Projet
Un package Python typique doit avoir la structure minimale suivante :
mon_package/
│── mon_package/
│ ├── __init__.py
│ ├── main.py
│── tests/
│ ├── test_main.py
│── setup.py
│── pyproject.toml
│── README.md
│── LICENSE
Exemple de setup.py
python
from setuptools import setup, find_packages
setup(
name="mon_package", # Nom du package
version="0.1.0", # Version du package
packages=find_packages(), # Recherche automatique des sous-packages
install_requires=[
"scapy", # Dépendances requises
"pyshark"
],
entry_points={
"console_scripts": [
"mon_package=mon_package.capture:main"
]
},
author="margoul1",
author_email="ton.email@example.com",
description="Un outil de capture de paquets réseau en Python",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
url="https://github.com/ton-utilisateur/mon_package",
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires=">=3.6",
)
Exemple de pyproject.toml
(optionnel mais recommandé)
toml
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
3. Construire le Package
Exécute la commande suivante pour générer les fichiers de distribution (.tar.gz
et .whl
) :
bash
python -m build
Cela créera un dossier dist/
contenant :
dist/
├── mon_package-0.1.0-py3-none-any.whl
├── mon_package-0.1.0.tar.gz
4. Publier sur PyPI
Option 1 : Publication avec mot de passe
bash
twine upload dist/*
Tu seras invité à entrer ton nom d'utilisateur et ton mot de passe PyPI.
Option 2 : Publication avec un jeton API
Si tu utilises un jeton API, exécute :
bash
twine upload -u __token__ -p TON_JETON dist/*
5. Tester l'Installation
Une fois publié, vérifie que ton package est installable depuis PyPI :
bash
pip install mon_package
6. Tester sur TestPyPI avant Publication
Si tu veux tester avant de publier sur PyPI officiel, utilise TestPyPI :
-
Publier sur TestPyPI :
bash twine upload --repository testpypi dist/*
-
Installer depuis TestPyPI :
bash pip install --index-url https://test.pypi.org/simple/ mon_package
7. Mettre à Jour un Package
Si tu fais une mise à jour du package, incrémente la version dans setup.py
, puis reconstruis et republie :
bash
python -m build
twine upload dist/*
Ton package est maintenant disponible sur PyPI et installable via pip install mon_package
!
Conclusion
T'as maintenant ton package que les gens (ou toi) vont pouvoir installer depuis absolument partout bien joué. Si tu veux pousser le vice de l'automatisation tu peux le mettre sur github et configurer une Github Action ou sur Gitlab (Recommandé).
Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier à commenter !
Articles suivants

Comment créer un VPN avec WireGuard
Apprenez à créer votre propre VPN avec WireGuard en seulement 15 minutes c'est pas si compliqué vous verrez.

Ajouter les utilisateurs automatiquement - Active Directory
Ajoutez vos utilisateurs automatiquement dans Active Directory grâce à un script Powershell

Debian 12 Installation de GLPI
Découvrez GLPI, un outil de ticketing open-source que vos plus grandes entreprises utilisent, ici nous verront comment l'installer