如何在PyPI中设置项目链接

14

我该如何在我的PyPI项目的项目链接部分添加链接?

3个回答

19

这个问题之前已经有答案,但是有点难找,所以希望这个问题更容易一些。

PyPI从project_urls元数据中获取这些链接。

在您的setup.py文件中,使用标题-URL键值对的字典作为project_urls参数来调用setuptools.setup()函数。

import setuptools

project_urls = {
  'Link 1': 'https://mygreatsite.com',
  'Link 2': 'https://anothersite.com'
}

setuptools.setup( other_arguments, project_urls = project_urls )

你应该接受自己的答案。看起来它是正确的答案。 - sinoroc
1
谢谢您的建议,我不知道接受自己的答案的礼仪是什么。 - bicarlsen
据我所知,回答自己的问题是完全公平的,甚至提出一个问题并打算自己回答并接受自己的答案也是公平的。唯一重要的是内容的价值(好问题+好答案)。-- 接受的勾选标记有助于看到哪些问题已经解决,这样我们就知道没有必要打开问题并回答它(因为它已经有了一个好的答案)。 - sinoroc
1
很好的解释。谢谢。 - bicarlsen

8

如果您想知道在PyPI上使用哪个标识符来表示哪个URL的图标,例如,如果您编写

project_urls = {
  'Twitter': 'https://twitter.com/PyScaffold',
}

如果你想在 PyPI 上看到 Twitter 小鸟图标,可以查看例如 https://pypi.org/project/PyScaffold/

如果要查看可用的图标以及何时设置了这些图标,只需查看此文件 (/warehouse/templates/packaging/detail.html),源代码来自于 PyPI


7

诗歌有点不同, 但是思路相同。

您可以在pyproject.toml文件的主要部分下,使用[tool.poetry]来放置一些基本信息。例如:

[tool.poetry]
homepage = "https://free.law/projects/x-ray"
repository = "https://github.com/freelawproject/x-ray"
documentation = "https://github.com/freelawproject/x-ray/blob/main/README.md"

如果你想要更多的URL,可以这样做:

[tool.poetry.urls]
"Organisation Homepage" = "https://free.law/"
"Change Log" = "https://github.com/freelawproject/x-ray/blob/main/CHANGES.md"
Issues = "https://github.com/freelawproject/x-ray/issues"
Funding = "https://www.courtlistener.com/donate/?referrer=pypi-xray"

有一系列的特殊值可以为您提供图标,但似乎您可以在此处放置任何内容,Poetry 也将感到高兴。如果 Pypi 不知道链接是什么,它将只会在其旁边放置一个通用图标。

这是可以获得图标的事物列表:

https://github.com/pypi/warehouse/blob/main/warehouse/templates/packaging/detail.html


1
还有一些示例项目展示了许多图标:https://pypi.org/project/links-demo/ - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接