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