По состоянию на 16 марта 2018 года PyPI.org, также известный как Warehouse (наконец-то), поддерживает Markdown в длинных описаниях. Warehouse заменила старую устаревшую реализацию PyPI в апреле 2018 года.
Тебе следует:
Убедитесь, что setuptools
обновлен до версии 38.6.0 или новее.
Убедитесь, что twine
обновлен до версии 1.11.0 или новее.
Убедитесь, что wheel
обновлен до версии 0.31.0 или новее.
Добавьте новое поле с именем long_description_content_type
к вызову setup()
и установите для него значение 'text/markdown'
:
setup(
long_description="""# Markdown supported!\n\n* Cheer\n* Celebrate\n""",
long_description_content_type='text/markdown',
# ....
)
См. PEP 566 — Метаданные для программных пакетов Python. 2.1.
Используйте twine
для загрузки ваших дистрибутивов в PyPI:
$ python setup.py sdist bdist_wheel # adjust as needed
$ twine upload dist/*
Старая устаревшая инфраструктура PyPI не будет отображать Markdown, это делает только новая инфраструктура Warehouse. Устаревшая инфраструктура исчезла (по состоянию на 30 апреля 2018 г.).
В настоящее время PyPI использует cmarkgfm
в качестве средства визуализации уценки через файл readme_renderer
библиотека (используя readme_renderer.markdown.render(long_description)
для создания HTML-вывода). Это означает, что ваши документы уценки будут отображаться точно так же, как на GitHub; это по сути тот же рендерер.
Вы можете проверить пакет long_description
с помощью команды twine check
(twine
1.12.0 или новее).
Старый ответ ‹ 2018-03-16 следует ниже.
Примечание: это старый, ныне устаревший ответ, по состоянию на 16 марта 2018 г. Markdown поддерживается при условии, что вы используете правильные инструменты, см. выше.
PyPI не поддерживает Markdown, поэтому ваш файл README не будет преобразован в HTML.
Если вам нужен визуализированный README, придерживайтесь reStructuredText; Введение Sphinx в reStructuredText является хорошей отправной точкой.
Возможно, вы захотите установить пакет docutils
, чтобы можно было протестировать документ локально; вы хотите запустить включенный скрипт rst2html.py
в свой README, чтобы увидеть, какие ошибки возникают, если они есть. В вашем конкретном образце слишком много ошибок:
$ bin/rst2html.py test.rst > /tmp/test.html
test.rst:7: (ERROR/3) Unexpected indentation.
test.rst:3: (WARNING/2) Inline literal start-string without end-string.
test.rst:3: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
test.rst:11: (WARNING/2) Block quote ends without a blank line; unexpected unindent.
test.rst:11: (WARNING/2) Inline literal start-string without end-string.
test.rst:11: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
В вашем блоке кода используются расширения Github Markdown, которые совершенно не подходят для reStructuredText. Вы можете использовать блок кода reST (возможно, если версия docutils для PyPI достаточно новая):
.. code-block:: python
@attr(section='MySection', type='functional+', module='MyModule', id=1)
def test_function(self):
"""
This is the original docstring
"""
pass
Чтобы проверить это локально, вам также необходимо установить Pygments.
Существует запрос функции с запросом на включение, чтобы добавить поддержку Markdown, если вы интересно.
person
Martijn Pieters
schedule
04.11.2014