Skip to content

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants