[devel] Q: PEP-503/566 normalized names for python?

Dmitry V. Levin ldv на altlinux.org
Ср Сен 23 09:30:40 MSK 2020


On Tue, Sep 22, 2020 at 08:06:01PM +0300, Igor Vlasenko wrote:
> Уважаемые господа,
> 
> Обсуждал с rider@ недостаточный охват python* пакетов сервисом watch,
> вспомнил, что там не хватает сервиса pypi watch, 
> а написать его мешает тот факт, что у нас 
> до сих пор не реализованы канонические имена 
> для исходных питоньих модулей.
> Так называемые "normalized names"
> сначала https://www.python.org/dev/peps/pep-0503/
> потом https://www.python.org/dev/peps/pep-0566/
> 
> В rpm-based дистрибутивах (SuSE,Mandriva,Fedora) уже сложился
> стандарт их применения:
> 1) в бинарных файлах есть pythonNNdist(normalizedname) Provides.
> Пример из OpenSuSE:
> $ rpmquery --provides -p python3-ZEO-5.2.1-3.5.noarch.rpm | grep dist
> python3.8dist(zeo) = 5.2.1
> python3dist(zeo) = 5.2.1
> 
> И что хорошо, normalized names в пакет руками добавлять не нужно.
> Эти имена используются в egg-info, их легко получить оттуда.
> если добавить в rpm-build-pythonN pythonNdist.prov,
> который будет генерировать Provides: python3dist(normalizedname).
> При чем готовый код для prov можно подсмотреть из той же Fedora.
> 
> 2) рекомендовать называть пакет
> pythonN-module-normalizedname.

А не лучше ли вместо этих балластных provides, как в вашем примере из
OpenSuSE, просто обязать все без исключения бинарные пакеты из pypi
называться python3-module-normalizedname?

> А то у нас бардак. Проект с именем PyFoo и normalized name pyfoo
> может быть упакетван как
> python3-module-foo
> python3-module-pyfoo
> python3-module-Foo
> python3-module-PyFoo

А какова сейчас в Сизифе доля неправильно названных пакетов для python3?


-- 
ldv


Подробная информация о списке рассылки Devel