You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Poetry allows multiline descriptions which causes problems with pip installing extras #1372
The issue was discovered while publishing docs from undp/MsGraphExporter on ReadTheDocs. When pyproject.toml option description has a multi-line string enclosed in """ (which is perfectly legit for a string in TOML), it causes poetry to build the package with multi-line Summary in info/METADATA which does not seem to be valid according to pypa/pip#7010 (comment)
Perhaps poetry could just truncate the multi-line description, make it a single-lined one or flag the issue with poetry check.
As it stands now, no error occurs when building, poetry check says everything is okay, and pip only installs my library and none of its dependencies, but it doesn't display any errors either, which makes it extremely hard to find the source of the error. Worse still, pip installing the sdist does install dependencies!
A simple example that breaks without any useful feedback (I am using Poetry 1.0.5):
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
[tool.poetry]
name = "example-lib"version = "0.1.0"description = """First lineSecond line (BOOOOOM)"""authors = ["John Doe <john.doe@example.org>"]
packages = [{ include = "example", from = "src" }]
[tool.poetry.dependencies]
python = "^3.8"addict = "^2.2.1"loguru = "^0.5.0"typer = {extras = ["all"], version = "^0.2.1"}
wcmatch = "^6.0.1"
@sdispater if you agree with my suggestion to enforce the single-line description field, I'd be happy to give it a try and submit a PR 😃
I also ran into this today, and spent multiple hours trying to figure out why my package deps were not installing. Funny enough, I accidentally fixed it at one point just through the course of generally editing the file, then reverted that and broke it again -- never once understanding cause and effect. Amazingly frustrating!
I really, really appreciate the work on this project, and know what it's like to maintain OSS. Not complaining (too loudly) -- but consider this a vote to fix this to help the next person avoid hours of pain :)
Activity
new: doc: Publish docs on RTD (fixes #5).
Merge tag '0.1.0-rc.2' into develop
stale commentedon Nov 13, 2019
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
rrei commentedon May 28, 2020
@sdispater thank you very much for creating poetry! I am absolutely in love with this tool ❤️
Any news on this topic? I just spent way too much time banging my head against the wall because of this... 😭
According to this link (https://packaging.python.org/specifications/core-metadata/#summary) and what @OK-UNDP said, I believe poetry should enforce a single-line
descriptionfield (duringpoetry buildandpoetry check). Also, it would be nice if this restriction was mentioned in the documentation (https://python-poetry.org/docs/pyproject/#description).As it stands now, no error occurs when building,
poetry checksays everything is okay, and pip only installs my library and none of its dependencies, but it doesn't display any errors either, which makes it extremely hard to find the source of the error. Worse still, pip installing the sdist does install dependencies!A simple example that breaks without any useful feedback (I am using Poetry 1.0.5):
@sdispater if you agree with my suggestion to enforce the single-line
descriptionfield, I'd be happy to give it a try and submit a PR 😃Jhraumg commentedon Feb 9, 2021
Same problem here. It causes pkginfo to leave metadata as is instead of interpreting them :
vs
Jhraumg commentedon Feb 9, 2021
In fact, per https://packaging.python.org/specifications/core-metadata/#description
adding
|(with 7 spaces) after each description\nshould get poetry in line with the spec.pkginfo manages to parse most of metadata when I do so in pyproject.toml
bmoeskau commentedon Jun 23, 2021
I also ran into this today, and spent multiple hours trying to figure out why my package deps were not installing. Funny enough, I accidentally fixed it at one point just through the course of generally editing the file, then reverted that and broke it again -- never once understanding cause and effect. Amazingly frustrating!
I really, really appreciate the work on this project, and know what it's like to maintain OSS. Not complaining (too loudly) -- but consider this a vote to fix this to help the next person avoid hours of pain :)
Require that package descriptions not include newlines
Require that package descriptions not include newlines (#219)
github-actions commentedon Mar 2, 2024
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.