3 votes

Utiliser le versioning du calendrier pour le paquet Python

Je préfère le système de gestion des versions du calendrier (voir calver.org ) par rapport à l'approche sémantique. Mais lorsque j'utilise le versioning du calendrier dans un paquet Python, PyPI supprime le zéro dans le mois. Par exemple, dans setup.py si le numéro de version est déclaré comme version='19.03' PyPI héberge alors le paquet en tant que 19.3 (sans remplissage de zéro).

Existe-t-il un moyen de forcer PyPI à reconnaître le mois à zéro ou est-ce que le système de gestion de l'information de PyPI n'a pas été modifié ? YYYY.0M n'est pas pris en charge pour les paquets Python ?

3voto

Dustin I. Points 146

Oui, c'est possible. Le problème n'est pas PyPI, c'est la façon dont setuptools normalise le numéro de version lors de la construction d'une distribution.

Prenez cette simple setup.py qui définit un paquet minimal :

from setuptools import setup

setup(
    name='calver-test',
    version='2019.03.29',
    packages=[],
)

Si vous exécutez python setup.py sdist ce qui produira un fichier calver-test-2019.3.29.tar.gz qui a la structure suivante :

calver-test-2019.3.29
 PKG-INFO
 calver_test.egg-info
    PKG-INFO
    SOURCES.txt
    dependency_links.txt
    top_level.txt
 setup.cfg
 setup.py

Si vous déballez manuellement le tar.gz modifiez les occurrences de 2019.3.29 a 2019.03.29 dans le PKG-INFO et le ré-emballer dans un fichier nommé calver-test-2019.03.29.tar.gz et le télécharger sur PyPI, il conservera le zéro de remplissage.

Exemple ici : https://pypi.org/project/calver-test/2019.03.29/

Il est évident que ce processus n'est pas idéal si c'est le comportement que vous souhaitez obtenir, et il serait peut-être judicieux d'ouvrir un problème sur le site Web de la Commission européenne. Suivi des problèmes de setuptools .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X