Use Markdown README em módulos Python

Se, como eu, você regularmente usa Markdown para dar a seus projetos do GitHub READMEs bonitos e legais, mas está tentando enviar seu novo módulo Python ostentoso para o Índice de Pacotes do Python, você pode ter encontrado um problema. Para obter seu README bem formatado na página PyPi do módulo, você precisa usar o reStructuredTxt. Agora você pode admitir a derrota e mudar seu README ou pode fazer o seguinte:

Instale o Pandoc

Instale o módulo pyandoc python

pip install pyandoc

Crie um arquivo chamado register.py e adicione o seguinte código:

import pandoc
import os

pandoc
.core.PANDOC_PATH = '/path/to/pandoc'

doc
= pandoc.Document()
doc
.markdown = open('README.md').read()
f
= open('README.txt','w+')
f
.write(doc.rst)
f
.close()
os
.system("setup.py register")
os
.remove('README.txt')

Agora adicione o seguinte código ao início do arquivo setup.py:

import os
long_description
= 'Add a fallback short description here'
if os.path.exists('README.txt'):
long_description
= open('README.txt').read()

e definir a longa descrição arg igual a `longa description`

Agora é só registrar seu módulo usando

python register.py

e sua página Pypi deve ter suas próprias instruções bem formatadas.

Basicamente, tudo o que você faz é criar um arquivo reStructeredTxt temporário para o setup.py ler, mas evitando tentar fazer qualquer conversão pandoc no setup.py como eu fiz originalmente, o que causou problemas para instalação em outros sistemas.