Да, это возможно. Проблема не в PyPI, а в том, как setuptools
нормализует номер версии при создании дистрибутива.
Возьмем это простое setup.py
, которое определяет минимальный пакет:
from setuptools import setup
setup(
name='calver-test',
version='2019.03.29',
packages=[],
)
Если вы запустите python setup.py sdist
, то получится файл calver-test-2019.3.29.tar.gz
, имеющий следующую структуру:
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
Если вы вручную распакуете файл tar.gz
, измените вхождения 2019.3.29
на 2019.03.29
в файлах PKG-INFO
, перепакуйте его в файл с именем calver-test-2019.03.29.tar.gz
и загрузите его в PyPI, он сохранит нулевое заполнение.
Пример здесь: https://pypi.org/project/calver-test/2019.03.29/
Очевидно, что этот процесс не идеален, если это ваше предполагаемое поведение, поэтому, возможно, имеет смысл открыть проблему на трекере проблем setuptools .