astral-sh/uv

Add support for "manual" package indexes

Open

#4,907 opened on Jul 8, 2024

View on GitHub
 (9 comments) (0 reactions) (0 assignees)Rust (3,111 forks)batch import
compatibilityenhancementhelp wanted

Repository metrics

Stars
 (84,934 stars)
PR merge metrics
 (Avg merge 7d 16h) (259 merged PRs in 30d)

Description

Overview

I have a manual repository running in IIS on Windows server. Installing packages from the repository works fine with pip when specified as an extra-index-url, but when using uv pip, it seems to be unable to determine which versions are available, and thus does not fails to resolve.

Note that this is a manual repository not a simple repository, which has API endpoints. (Though in my limited experimentation with devpi, uv also was unable to resolve dependencies)

Is there any way to fix this? I love ruff and would be interested in using uv as well :smile:

Thanks!

Using pip

>> pip install extabpylish --verbose --dry-run                                                         
Using pip 24.1 from C:\Users\████████\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip (python 3.11)
Looking in indexes: https://pypi.org/simple, http://[manual-repository]/packages
Collecting extabpylish
  Using cached http://[manual-repository]/packages/extabpylish/extabpylish-0.1.0-py3-none-any.whl (8.5 kB)
Collecting openpyxl<4.0.0,>=3.1.2 (from extabpylish)
  Obtaining dependency information for openpyxl<4.0.0,>=3.1.2 from https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl.metadata
  Using cached openpyxl-3.1.5-py2.py3-none-any.whl.metadata (2.5 kB)
Collecting ordered-set<5.0.0,>=4.1.0 (from extabpylish)
  Obtaining dependency information for ordered-set<5.0.0,>=4.1.0 from https://files.pythonhosted.org/packages/33/55/af02708f230eb77084a299d7b08175cff006dea4f2721074b92cdb0296c0/ordered_set-4.1.0-py3-none-any.whl.metadata
  Using cached ordered_set-4.1.0-py3-none-any.whl.metadata (5.3 kB)
Collecting et-xmlfile (from openpyxl<4.0.0,>=3.1.2->extabpylish)
  Obtaining dependency information for et-xmlfile from https://files.pythonhosted.org/packages/96/c2/3dd434b0108730014f1b96fd286040dc3bcb70066346f7e01ec2ac95865f/et_xmlfile-1.1.0-py3-none-any.whl.metadata
  Using cached et_xmlfile-1.1.0-py3-none-any.whl.metadata (1.8 kB)
Using cached openpyxl-3.1.5-py2.py3-none-any.whl (250 kB)
Using cached ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Using cached et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)
Would install ExTabPylish-0.1.0 et-xmlfile-1.1.0 openpyxl-3.1.5 ordered-set-4.1.0

Using uv pip

>> uv pip install extabpylish --verbose --dry-run
DEBUG uv 0.2.23
DEBUG Searching for Python interpreter in system path or `py` launcher
TRACE Ignoring stale interpreter markers for: .venv\Scripts\python.exe
TRACE Querying interpreter executable at C:\Users\███████████████████████████████████████████\.venv\Scripts\python.exe
DEBUG Found cpython 3.11.9 at `C:\Users\███████████████████████████████████████████\.venv\Scripts\python.exe` (virtual environment)
DEBUG Using Python 3.11.9 environment at .venv\Scripts\python.exe
TRACE Checking lock for `.venv`
DEBUG Acquired lock for `.venv`
DEBUG At least one requirement is not satisfied: extabpylish
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.11.9
DEBUG Adding direct dependency: extabpylish*
TRACE Fetching metadata for extabpylish from http://[manual-repository]/packages/extabpylish/
TRACE cached request http://[manual-repository]/packages/extabpylish/ is storable because its response has a heuristically cacheable status code 200
TRACE cached request http://[manual-repository]/packages/extabpylish/ has a cached response that does not allow staleness
TRACE request http://[manual-repository]/packages/extabpylish/ does not have a fresh cache because its age is 263079 seconds, it is greater than the freshness lifetime of 0 seconds and stale cached responses are not allowed
DEBUG Found stale response for: http://[manual-repository]/packages/extabpylish/
DEBUG Sending revalidation request for: http://[manual-repository]/packages/extabpylish/
TRACE Handling request for http://[manual-repository]/packages/extabpylish/
TRACE Request for http://[manual-repository]/packages/extabpylish/ is unauthenticated, checking cache
TRACE No credentials in cache for URL http://[manual-repository]/packages/extabpylish/
TRACE Attempting unauthenticated request for http://[manual-repository]/packages/extabpylish/
TRACE is modified because status is 200 and not 304
DEBUG Found modified response for: http://[manual-repository]/packages/extabpylish/
TRACE cached request http://[manual-repository]/packages/extabpylish/ is storable because its response has a heuristically cacheable status code 200
TRACE Received package metadata for: extabpylish
TRACE selecting candidate for package extabpylish with range Range { segments: [(Unbounded, Unbounded)] } with 0 remote versions
DEBUG Searching for a compatible version of extabpylish (*)
TRACE exhausted all candidates for package PackageName("extabpylish") with range Range { segments: [(Unbounded, Unbounded)] } after 0 steps
TRACE selecting candidate for package extabpylish with range Range { segments: [(Unbounded, Unbounded)] } with 0 remote versions
TRACE exhausted all candidates for package PackageName("extabpylish") with range Range { segments: [(Unbounded, Unbounded)] } after 0 steps
DEBUG No compatible version found for: extabpylish
  × No solution found when resolving dependencies:
  ╰─▶ Because there are no versions of extabpylish and you require extabpylish, we can conclude that the requirements
      are unsatisfiable.

uv details

Platform: Windows 10 Version: uv 0.2.23 (4bc36c0cb 2024-07-08)

Contributor guide