Twine is defaulting "long_description_content_type" to text/x-rst

Question:

Heres is my setup

setup(
    name="`...",
    version="...",
    description=...,
    long_description_content_type="text/markdown",
    long_description=README,
    author="...",

    classifiers=[...],

    packages=["..."],
    include_package_data=True,
)

I used the following command to package my project

python setup.py sdist bdist_wheel 

but when I run

twine check dist/*

I get the following error

Checking distFutshane_TBG-1.0.0-py3-none-any.whl: FAILED
  `long_description` has syntax errors in markup and would not be rendered on PyPI.
    line 9: Error: Unexpected indentation.
  warning: `long_description_content_type` missing. defaulting to `text/x-rst`.
Checking distFutshane_TBG-1.0.0.tar.gz: FAILED
  `long_description` has syntax errors in markup and would not be rendered on PyPI.
    line 9: Error: Unexpected indentation.
  warning: `long_description_content_type` missing. defaulting to `text/x-rst`.

Why is it failing to identify the type provided, when I’ve obviously provided one?

Asked By: ElLoko 233

||

Answers:

I attempted to switch the order of the "long_description_content_type" and the "long_description" arguments and instead of assigning the description argument to a variable containing the description, I assigned it directly to the description. Doing so has resolved my issue

setup(
    name="Futshane_TBG",

    version="1.0.0",

    description=""" The description of the package   """,

    long_description_content_type="text/markdown",

    long_description=README,

    url="https://github.com/ElLoko233/Text-Based-Game-Package",

    author="Lelethu Futshane",

    classifiers=["License :: OSI Approved :: MIT License",
                 "Programming Language :: Python :: 3",
                 "Programming Language :: Python :: 3.8"],

    packages=["TBG"],

    include_package_data=True,
)

Answered By: ElLoko 233

Use Pandoc and PyPandoc to convert your Markdown(md) files into RestructuredText(rst) before uploading them into PyPi. To accomplish this, add the following to your setup.py file:
pip install pypandoc

try:
   import pypandoc
   long_description = pypandoc.convert_file('README.md', 'rst')
except(IOError, ImportError):
   long_description = open('README.md').read()

setup(
name='blah',
version=find_version('blah.py'),
description='Short description',
long_description=long_description,
)
Answered By: Mohit Gaikwad
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.