Install requirements from pyproject #13616
Draft
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.
closes #11440 ?
This is more of a proof of concept, I can try improving it and adding tests if this approach is deemed to be ok.
Since actual
--only-deps
option opens up a lot of rabbit holes (when installing anything other than.
) and installing only dependencies of some remote package for example doesn't seem to be useful to me, this PR just handles dependencies from pyproject.toml in -r, e.g.pip install -r pyproject.toml
.I guess this is technically a breaking change, but I don't know what kind of person keeps their requirements in non-toml format in a file named pyproject.toml.
-r pyproject.toml
is also apparently what uv already does.Only main dependencies (the ones in project.dependencies) are handled (for now?). Trying to do
install -r pyproject.toml
on pyproject with dynamic dependencies results in an error.As is, I believe this PR is enough to address at least my use case for this: it allows caching dependency layers in docker easily, without additional tools.