400 Client Error when trying to install prodigy using poetry

I'm trying to install prodigy using poetry but I get the following error (omitted everything after ? with ...)

400 Client Error: Bad Request for url: https://s3.eu-west-1.amazonaws.com/data.prodi.gy/dist/prodigy-1.11.7-cp310-cp310-linux_aarch64.whl?...

I'm also puzzled why it says cp310 since I'm running python 3.9.9 but maybe that's not related.

To reproduce

Init a poetry project with poetry init and add the following to pyproject.toml

name = "prodigy"
url = "https://[LICENCE_KEY]@download.prodi.gy/index"

Then try to install prodigy by running poetry add prodigy.

Further context

If I run poetry run pip install -r requirements.txt with --extra-index-url set then it works just fine. A very notable difference in the url's requested is


versus the above.

Ah, it looks like you're unfortunately running into this known poetry issue with HTTP Basic Auth credentials in URLs (which is still open):

In the meantime, you could pre-download the wheels and use Poetry to install from a path: Installing from wheels. · Issue #76 · python-poetry/poetry · GitHub

1 Like

I guess I could yes but then it wouldn't be platform agnostic, right? I need to support ubuntu, mac, mac m1 unfortunately.

I'm not super familiar with poetry but does it have something equivalent to pip's -f option that you can point to a local directory of files and that will automatically pick the best-matching wheel for the given platform? https://prodi.gy/docs/install#wheel

Another option would be to run a mini local PyPi index that serves the wheels – but that's of course a bit more involved.

1 Like


The following appears to work now using Poetry version 1.2.0b3 on macOS version 12.5.1 (Intel):

poetry source add prodigy "https://download.prodi.gy"
poetry config http-basic.prodigy <personal license> ""
poetry add --source=prodigy prodigy

We haven't tested for different OS/Poetry versions but want to post in case it may help others.

1 Like

Thanks for this. In theory it's awesome - unfortunately I'm seeing some issues: config http-basic: Unable to store the password for poetry-repository-prodigy in the key ring: Can't store password on keychain: (-25299, 'Unknown Error') · Issue #6607 · python-poetry/poetry · GitHub

Hi @ines

The poetry team requests access to the wheels to further investigate. Do you mind reaching out? See this comment. Obviously I won’t share with them - that’s for you to decide.

Turns out I had to do

poetry config http-basic.prodigy <personal license>

and then just confirm an empty password. Otherwise I got 403 Client Error: Forbidden for url: https://s3.eu-we...