Avoid enforcing URL correctness for installed distributions #1793
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Allows the corresponding
pypi_types
struct to use any URL, since other installers can put those into the environment, and Poetry seems to write invalid URLs.If we see a distribution with an invalid URL, we just treat it as a registry distribution, which isn't ideal, but is better than (1) erroring, and (2) changing
Url
toString
everywhere internally. (I'm torn on this second option.)Closes #1744.
Test Plan
flask = { git = "git@github.com:pallets/flask.git", rev = "b90a4f1f4a370e92054b9cc9db0efcb864f87ebe" }
toscripts/editable-installs/poetry_editable/pyproject.toml
.poetry install
.cargo pip freeze
. Verified that it errored onmain
, but passed here.cargo run pip install "flask==3.0.0"
. Verified that it uninstalled the existing Flask, and installed a new version from the registry.