Newlines in the description
field produce a malformed PKG-INFO #1390
Closed
Description
We discovered this accidentally by way of zopefoundation/zc.relation#4 (comment): if you pass a string containing newlines to the description
argument of setup()
, setuptools will generate a malformed PKG-INFO.
To reproduce:
# setup.py
from setuptools import setup
setup(
name='test-package',
version='0.1',
author='Blah Blah',
author_email='blah@example.com',
description='description\n\n',
py_modules=['blah'],
)
(The contents of blah.py
do not matter, but the file should exist.)
Run python setup.py sdist
and the inspect test_package.egg-info/PKG-INFO
. For me, with setuptools 39.1.0, it looks like this:
Metadata-Version: 1.0
Name: test-package
Version: 0.1
Summary: description
Home-page: UNKNOWN
Author: Blah Blah
Author-email: blah@example.com
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
The extra newlines lead tools to treat the rest of the PKG-INFO as a long_description.
I would expect setuptools
to complain about the newlines in the description
field, or at least escape them properly (i.e. prepend whitespace, like it does for the long_description
field).