poetry 1.1 fails to publish to artifactory (1.0.x was working)

Created on 2 Oct 2020  Â·  2Comments  Â·  Source: python-poetry/poetry

  • [x] I am on the latest Poetry version.
  • [x] I have searched the issues of this repo and believe that this is not a duplicate.

    • I believe this issue is different from #2143, because it works in poetry version 1.0.x, but not any more in 1.1.0

  • [x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).
  • OS version and name: Ubuntu 18.04
  • Poetry version: 1.1.0
  • Link of a Gist with the contents of your pyproject.toml file:
[tool.poetry]
name = "mypackage"
version = "0.3dev23"
description = "MyPackage"

[tool.poetry.dependencies]
python = "^3.7"

[[tool.poetry.source]]
name = "artifactory"
url = "http://myartifactory/artifactory/api/pypi/pypi/simple"
default = true

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

Issue

Hi there, since the update to 1.1.0, (CI/CD) deployment to artifactory fails with the error

> export POETRY_HTTP_BASIC_ARTIFACTORY_USERNAME=mydeploymentuser
> export POETRY_HTTP_BASIC_ARTIFACTORY_PASSWORD=mydeploymentpassword
> poetry config repositories.artifactory "https://myartifactory/artifactory/api/pypi/my-py-local"
> poetry publish -vvv --repository artifactory

No suitable keyring backends were found
Using a plaintext file to store and retrieve credentials
Publishing mypackage (0.3dev23) to artifactory
 - Uploading mypackage-0.3.dev23-py3-none-any.whl 100%

  UploadError

  HTTP Error 415: Unsupported Media Type

  at /usr/local/lib/python3.7/site-packages/poetry/publishing/uploader.py:216 in _upload
      212│                     self._register(session, url)
      213│                 except HTTPError as e:
      214│                     raise UploadError(e)
      215│
    → 216│             raise UploadError(e)
      217│
      218│     def _do_upload(
      219│         self, session, url, dry_run=False
      220│     ):  # type: (requests.Session, str, Optional[bool]) -> None

If I revert to 1.0.10, it succeeds without error:

> pip install poetry==1.0.10
> poetry publish -vvv --repository artifactory

Publishing mypackage (0.3dev23) to artifactory
No suitable keyring backends were found
Using a plaintext file to store and retrieve credentials
 - Uploading mypackage-0.3.dev23-py3-none-any.whl 100%
 - Uploading mypackage-0.3.dev23.tar.gz 100%

I hope that suffices for checking the errors.

Thanks!

Bug

Most helpful comment

It seems we have the same issue - https://github.com/python-poetry/poetry/issues/3053

All 2 comments

It seems we have the same issue - https://github.com/python-poetry/poetry/issues/3053

The issue is caused because package.sources defined in the pyproject taking precedence over poetry config repositories values.

Workaround until 1.1.1 is to do the following. Note the suffix added to the repository names.

poetry config repositories.artifactory-upload "https://myartifactory/artifactory/api/pypi/my-py-local"
poetry publish -r artifactory-upload
Was this page helpful?
0 / 5 - 0 ratings