Поддерживают ли какие-либо инструменты метаданные Provides-Dist для python пакетов? Если нет, то почему? - PullRequest
0 голосов
/ 05 мая 2020

Спецификация метаданных python пакета включает поле Provides-Dist, которое, кажется, позволяет пакету объявить, что он предоставляет функциональные возможности другого пакета (или виртуального пакета).

Эта функция кажется полезной для чего-то вроде TensorFlow, где один и тот же интерфейс предоставляется многими разными связанными пакетами: tensorflow, tensorflow-gpu, tf-nightly, ..., что делает его практически невозможным для других python пакеты на «install_requires» тензорного потока (большинство основных пакетов пропускают его).

Согласно этому документу спецификации, эта функция «редко используется».

  • Есть ли python инструменты упаковки, использующие Provides-Dist? Либо генерировать, либо использовать?

  • Есть ли какие-либо другие задокументированные причины (включая обсуждения publi c), почему эта функция не поддерживается? Спецификация метаданных неопределенно заявляет, что «совсем не ясно, как инструменты должны интерпретировать их в контексте открытого сервера индекса», но мне не ясно, почему это проблема, поскольку предположительно любой недобросовестный пакет должен быть явно установлен сначала пользователем, и существует множество других способов, которыми установленные пакеты могут быть вредоносными.

1 Ответ

1 голос
/ 09 мая 2020

Насколько мне известно, ни один инструмент не поддерживает Provides-Dist.

Следующий комментарий, кажется, подтверждает:

...