-
-
Notifications
You must be signed in to change notification settings - Fork 610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Instantiate a new accumulator InstallRequirement
for combine_install_requirements
output
#1519
Conversation
1c3def2
to
2bdbd6f
Compare
# Don't just yield from above. Instead, use the same `markers`-stripping | ||
# behavior as we have for cached dependencies below. | ||
dependency_strings = sorted(str(ireq.req) for ireq in dependencies) | ||
yield from self._ireqs_of_dependencies(ireq, dependency_strings) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without this change to make this behavior consistent with the cached dependencies case, tests failed because the output included markers, e.g. fake-tensorboardx==0.5; extra == "tune"
.
This was necessary to solve the "conflict" described in #1512 (comment), but also feels like the longer-term better solution. |
bd3caf8
to
b7e5d16
Compare
b7e5d16
to
b29d25c
Compare
@atugushev @AndydeCleyre Thoughts on timing for a review? Looks like not much activity across the repo since October... |
b29d25c
to
95d1553
Compare
Kind of in a pickle right now stuck on 6.2.0 due to this issue but that version is busted with new pip's fancy new log handler. Several new versions appear to have shipped with this regression so it'd be great to see some movement on this. To help I can confirm I ran this PR on my repo with 30 local packages using the |
First of all, @richafrank this PR looks in very good shape. Nice work!
I'd actually argue that that is not a valid package name. If you lookup pypi, there is no |
95d1553
to
ad3dc21
Compare
ad3dc21
to
8aff146
Compare
I think I speak on behalf of many when I say that I am rooting this PR to get merged and released ASAP |
…ependency" (commit d720fe6) This brings back copy_ireq_dependencies and combines its use with that of the proxies-for-naming. Editable and url_requirement ireqs are not cached by the Repository, so when dependencies are queried for them once, no dependencies will be found later for the copy made by combine_install_requirements. copy_ireq_dependencies links those dependencies at the time of copy.
round of resolution. By this point, we've frozen the dependencies.
Fixes jazzband#1054 Co-authored-by: Andrew <harta5039@gmail.com>
when combining instances
…uirement instances in combine_install_requirements
8aff146
to
d8b9135
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's get that in 👍🏻
to ensure nothing else was emitted
InstallRequirement
for combine_install_requirements
output
Replace the copy+mutate behavior of
combine_install_requirements
with instantiation of a newInstallRequirement
. Since thePyPIRepository
caches dependencies keyed byInstallRequirement
instances, we no longer need to worry about:copy_ireq_dependencies
method)i.e. a much simpler solution. We can prepare an ireq to get its name and not worry about later uses.
The inputs to the new instance include the
link
, as done in #1506, which solves the local file information loss.Builds on and replaces #1507, #1385, and #1512. The tests from all PRs pass, including the
xfail
I added in #1507.Fixes #1505 , #1511 , #1054
Contributor checklist
Maintainer checklist
backwards incompatible
,feature
,enhancement
,deprecation
,bug
,dependency
,docs
orskip-changelog
as they determine changelog listing.