如何撰写PyPI项目描述的内容



我正在开发一个具有以下布局的Python项目(使用PyScaffold设置(:

project/
- src/
- docs/
- _static/
- assets/
- logo.svg
- index.rst
- README.rst
- AUTHORS.txt
- setup.py
- setup.cfg
- ...

该项目托管在GitHub上,发布在Pypi上,并记录在ReadTheDocs上。我希望这3个网站呈现与主页(自述、长描述、索引页(类似的内容,除了一些细节:

  • 在GitHub上,链接应该重定向到GitHub文件页面
  • 在Pypi和Read the Docs上,链接应该重定向到Read the Doc页面
  • 在GitHub的分支上,链接应该重定向到分支文件(而不是master文件(

目前,我使用的README.rst看起来像:

.. _Authors: http://readthedocs/latest/authors.html
.. |logo| image:: http://readthedocs/assets/logo.svg
:alt: Logo
:width: 500

.. EndOfLinks
|logo|
`Authors`_

docs/index.rst如下:

.. _Authors: ./authors.html
.. |logo| image:: ./_static/ewmh_m2m.svg
:alt: Logo
:width: 500
.. include:: ../README.rst
:start-after: EndOfLinks

和一个setup.cfg:

long-description = file: README.rst
long-description-content-type = text/x-rst; charset=UTF-8

但是,在新分支上,README呈现或链接不会反映底层文件中的任何更改,如本例所示。

在README中使用相对链接会使Pypi描述中的链接断开,也不会显示徽标(请参阅此处(

我尝试使用一个专用的pypi_description.rst文件,类似于index.rst。如果它也包含include指令,那么Pypi和GitHub不会呈现RST。

如果你描述的第一次尝试对于GitHub和RTD来说已经足够了,那么问题就是如何为PyPI实现一个有效的长描述源,对吧?

setup.py中,您可以设置setup()关键字参数long_description_content_type='text/x-rst',并将long_description设置为RST文本字符串(没有sphinx扩展名(,这样您就可以在setup.py早期使用任意Python代码预处理长描述源。

相关内容

  • 没有找到相关文章

最新更新