uv: unexpected end of file when working with Azure Artifacts

We are hosting our own pypi repo using Azure Artifacts. When compiling a larger requirements file ~ 500 reqs, uv chokes at different points when trying to download wheels

           uv_client::cached_client::fresh_request url="https://pkgs.dev.azure.com/path/to/our/pypi/download/cryptography/40.0.2/cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"
error: Failed to download: grpcio==1.62.0
  Caused by: The wheel grpcio-1.62.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl is not a valid zip file
  Caused by: an upstream reader returned an error: request or response body error: error reading a body from connection: unexpected end of file
  Caused by: request or response body error: error reading a body from connection: unexpected end of file
  Caused by: error reading a body from connection: unexpected end of file
  Caused by: unexpected end of file

repeating this fails at other points

pip compile works fine however, probably it is retrying in that case.

  • The uv version used 0.1.13
  • The uv command uv pip compile req.txt.in --no-emit-index-url --no-emit-find-links --output-file req.txt -v --index-url https://usr:pat@pkgs.dev.azure.com/path/to/our/pypi/simple/ --extra-index-url https://usr:pat@pkgs.dev.azure.com/path/to/some/other/pypi/simple/

About this issue

  • Original URL
  • State: open
  • Created 4 months ago
  • Reactions: 1
  • Comments: 16 (6 by maintainers)

Most upvoted comments

https://github.com/astral-sh/uv/issues/1502#issuecomment-1976714554

this is my command, if you need I can run it with verbose mode and giving you more logs. I’ve tried with the latest version of uv

A new observation that caught my attention during recent attempts is that if I comment out the --extra-index-url line that is causing issues in the requirements.txt file and run uv pip install --extra-index-url <url> pdfex==1.2.1, for instance, everything works perfectly.

In my use case, there are three --extra-index-url lines in the requirements.txt file.

@charliermarsh,

I have similiar issue for only one dependency hosted on Gitlab.

DEBUG Searching for a compatible version of pdfex (==1.2.0)
TRACE selecting candidate for package pdfex with range Range { segments: [(Included("1.2.0"), Included("1.2.0"))] } with 0 remote versions
TRACE exhausted all candidates for package PackageName("pdfex") with range Range { segments: [(Included("1.2.0"), Included("1.2.0"))] } after 0 steps
DEBUG No compatible version found for: pdfex
  × No solution found when resolving dependencies:
  ╰─▶ Because there is no version of pdfex==1.2.0 and you require pdfex==1.2.0, we can conclude that the requirements are unsatisfiable.

When I try install the dependency using pip it`s works fine. Is there some more info that can I share to help in this fix?

The core issue is I need to be able to reproduce. I’d love to fix it… I can try again today.