- Se connecter sur https://pypi.org/
- Aller dans Account Settings → API tokens
- Créer un nouveau token avec le scope "Entire account" ou limité au projet "dnd-5e-core"
- IMPORTANT : Copier le token immédiatement (il ne sera plus affiché)
Créer ou éditer le fichier ~/.pypirc :
[distutils]
index-servers =
pypi
[pypi]
username = __token__
password = pypi-VOTRE_TOKEN_ICIPermissions : chmod 600 ~/.pypirc
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="pypi-VOTRE_TOKEN_ICI"-
Mettre à jour le CHANGELOG.md
- Déplacer les changements de
[Unreleased]vers une nouvelle version[X.Y.Z] - Ajouter la date de publication
- Déplacer les changements de
-
Bumper la version dans 3 fichiers :
pyproject.toml:version = "X.Y.Z"dnd_5e_core/__init__.py:__version__ = 'X.Y.Z'setup.py:version="X.Y.Z"
-
Committer les changements
git add CHANGELOG.md pyproject.toml setup.py dnd_5e_core/__init__.py git commit -m "chore: Release version X.Y.Z" git push origin main
# S'assurer que build et twine sont installés
pip install --upgrade build twine
# Exécuter le script de publication
./publish_simple.shAprès publication, vérifier sur :
- https://pypi.org/project/dnd-5e-core/
- Tester l'installation :
pip install dnd-5e-core==X.Y.Z
Cause : Token invalide, expiré ou mal configuré
Solutions :
- Vérifier que le token commence bien par
pypi- - Vérifier le fichier
~/.pypirc(pas d'espaces, bon format) - Régénérer un nouveau token sur PyPI
- Vérifier les permissions :
chmod 600 ~/.pypirc
Cause : La version existe déjà sur PyPI
Solutions :
- Bumper la version (impossible de remplacer une version existante)
- Vérifier que vous avez bien mis à jour tous les fichiers de version
Causes possibles :
- Fichiers manquants dans MANIFEST.in
- Erreurs de syntaxe dans le code
- Dépendances manquantes
Solution : Vérifier les logs de build et corriger les erreurs
- X.0.0 : Changements majeurs (breaking changes)
- 0.X.0 : Nouvelles fonctionnalités (features)
- 0.0.X : Corrections de bugs (bugfixes)
- 0.4.4 (2026-02-05) : Documentation IA complète, archivage fichiers obsolètes
- 0.4.3 (2026-02-03) : Fix spell_slots KeyError, intégration data/collections
- 0.4.2 : [À documenter]
- 0.4.1 : [À documenter]