Skip to content

Comments

Improve presentation of non-verbose downloads with non-PyPI indexes#13494

Open
pradyunsg wants to merge 1 commit intopypa:mainfrom
pradyunsg:improve-presentation-of-non-pypi-files
Open

Improve presentation of non-verbose downloads with non-PyPI indexes#13494
pradyunsg wants to merge 1 commit intopypa:mainfrom
pradyunsg:improve-presentation-of-non-pypi-files

Conversation

@pradyunsg
Copy link
Member

@pradyunsg pradyunsg commented Jul 20, 2025

Before:

❯ pip download --index-url https://www.piwheels.org/simple --dest /tmp/throwaway revpy
Looking in indexes: https://www.piwheels.org/simple
Collecting revpy
  Using cached https://archive1.piwheels.org/simple/revpy/revpy-0.1.1-py3-none-any.whl (11 kB)
Saved /private/tmp/throwaway/revpy-0.1.1-py3-none-any.whl
Successfully downloaded revpy

After:

❯ pip download --index-url https://www.piwheels.org/simple --dest /tmp/throwaway revpy
Looking in indexes: https://www.piwheels.org/simple
Collecting revpy
  Downloading revpy-0.1.1-py3-none-any.whl (11 kB)
Saved /private/tmp/throwaway/revpy-0.1.1-py3-none-any.whl
Successfully downloaded revpy

This is a notable improvement if you end up mirroring PyPI's artifact structure in a different index, and end up with URLs like https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl that end up being really verbose for long install sessions.

@pradyunsg pradyunsg force-pushed the improve-presentation-of-non-pypi-files branch from d060a68 to a6c05fd Compare July 20, 2025 10:32
@pradyunsg pradyunsg force-pushed the improve-presentation-of-non-pypi-files branch from a6c05fd to 791068a Compare July 20, 2025 10:33
Copy link
Member

@ichard26 ichard26 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little worried that this will lead to user confusion when multiple indexes are in use and pip downloads packages from several indexes1, but I suppose it doesn't matter too much in practice. They can still enable verbose mode and get the full URL.

Could you add a changelog entry? Thanks!

Footnotes

  1. We had an issue filed because pip was downloading full wheels during dependency resolution. The root problem was that they were using a third-party index which had not implemented PEP 658 yet.

@notatallshaw notatallshaw added this to the 25.3 milestone Oct 15, 2025
@notatallshaw
Copy link
Member

@pradyunsg are you still interested in merging this?

@pradyunsg
Copy link
Member Author

Interested, yes.

Will I have the bandwidth in the near future? Sadly, no.

If someone else would like to pick this up, please feel welcome to do so!

@notatallshaw notatallshaw modified the milestones: 25.3, 26.0 Oct 23, 2025
@notatallshaw notatallshaw added the state: up for grabs (PR) Good idea, but needs a new champion as the PR author is busy or unreachable. label Jan 17, 2026
@notatallshaw notatallshaw modified the milestones: 26.0, 26.1 Jan 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state: up for grabs (PR) Good idea, but needs a new champion as the PR author is busy or unreachable.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants