Pradyun Gedam
1bb7bf6a4c
Update type annotation
2020-10-27 01:00:30 +05:30
Pradyun Gedam
e74116a436
Change assertion in topological sorting
2020-10-27 00:53:41 +05:30
Tzu-ping Chung
dfaa111004
Pull in hashes from constraint files
2020-09-03 17:26:52 +08:00
Nguyễn Gia Phong
39d296eeb8
Clean up code style and internal interface
...
Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>
Co-Authored-By: Chris Hunt <chrahunt@gmail.com>
2020-08-11 22:40:39 +07:00
Nguyễn Gia Phong
078e0effb7
Add memoization mechanism for file download
...
This is intentionally dependent from caching, which relies on cache dir.
2020-08-11 22:39:42 +07:00
Tzu-ping Chung
4683ad02e3
Allow filtering constraints with markers
2020-08-07 13:55:38 +08:00
Chris Hunt
8b838ebb89
Prepare lazy wheels more so they are downloaded
...
This keeps all knowledge about preparation and types of requirements in
`RequirementPreparer`, so there's one place to look when we're ready to
start breaking it apart later.
2020-08-02 19:36:29 -04:00
Chris Hunt
f0d4df10eb
Propagate lazy_wheel option through RequirementPreparer
...
Reduces dependence on Candidate (and Resolver (and Factory)).
2020-08-02 18:40:11 -04:00
Chris Hunt
e49dcfdc35
Move lazy_wheel warning out of Resolver
...
This warning just needs to be traced in one place for all commands,
there's no need for the resolver to know about it. Moving the warning
out of the Resolver will make it easier to change how we provide the
option.
2020-08-02 18:40:11 -04:00
Nguyễn Gia Phong
5d15291274
Use lazy wheel to obtain dep info for new resolver
2020-07-21 16:00:34 +07:00
Tzu-ping Chung
01e0700e68
Skip installing if the version matches locally
...
This check only applies to explicit requirements since we avoid
downloading the dist from finder altogether when there is a matching
installation (although the check wouldn’t change the behaviour in that
case anyway).
We can do this when we build the `ExplicitRequirement` instead, like how
we did for `SpecifierRequirement`, but that would require us to resolve
the direct requirement’s version eagerly, which I don’t want to.
The implemented approach checks the version only after resolution, at
which point the distribution is already built anyway and the operation
is cheap.
2020-07-06 11:06:14 +08:00
Pradyun Gedam
20431888cb
Move check_invalid_constraint_type to req_install.py
2020-07-04 18:01:28 +05:30
Pradyun Gedam
ace5485836
Change reject_invalid_constraint_types to be reusable
2020-07-04 17:50:42 +05:30
Pradyun Gedam
fb68794188
Merge pull request #8026 from sbidoul/requested-sbi
2020-06-24 18:24:30 +05:30
Paul Moore
d287033599
Merge pull request #8394 from pfmoore/nr_conflict_message
...
Improve the message for "Resolution Conflict" errors
2020-06-18 13:45:51 +01:00
Paul Moore
09d311594e
Move error handling to factory.get_installation_error()
2020-06-17 16:44:53 +01:00
Paul Moore
c827f2964c
Revised ResolutionImpossible message
2020-06-17 16:44:53 +01:00
Paul Moore
27521ac1f2
Remove duplicates from the list of conflicts in ResolutionImpossible reporting
2020-06-17 16:44:53 +01:00
Tzu-ping Chung
439da2f902
Implement yanked link warning in the new resolver
2020-06-15 16:38:10 +08:00
Tzu-ping Chung
d5204dd0ba
Move markers check into the ireq->req constructor
...
This makes the check apply to ALL requirement constructions, no
exceptions.
2020-06-02 12:02:52 +08:00
Stéphane Bidoul
b9a19f6be0
Rename is_direct to user_supplied
2020-05-31 18:33:51 +02:00
Tzu-ping Chung
bc9b288b1e
Implement wheel cache lookup in the new resolver
2020-05-27 20:19:37 +08:00
Paul Moore
48334aeb80
New resolver not raising DistributionNotFound
2020-05-22 15:36:10 +01:00
Tzu-ping Chung
5ebf22248c
Ignore root dependencies with non-matching markers
2020-05-21 15:53:03 +08:00
Tzu-ping Chung
418d9051b8
Set max_rounds to an incredibly large number
...
We really don't want to raise ResolutionTooDeep yet since the metric is
not very useful. Try to avoid this until we come up with a better method
to count.
2020-05-20 21:15:09 +08:00
Nguyễn Gia Phong
29940371cc
Fix typo and simplify ireq call
2020-05-16 12:04:17 +07:00
Paul Moore
e28b388c73
Merge pull request #7997 from uranusjr/resolver-use-user-site
...
New resolver: implement --user
2020-05-15 20:01:50 +01:00
Paul Moore
adfb70a309
Merge pull request #8239 from pfmoore/constraints_fixes
...
Tidy up handling of unexpected forms of constraint
2020-05-15 14:58:29 +01:00
Paul Moore
a56376b20f
req.specifier is always a SpecifierSet
2020-05-15 13:58:12 +01:00
Paul Moore
96b3377cd7
Type annotations
2020-05-15 10:57:07 +01:00
Paul Moore
0bcae1e964
Add a deprecation warning for undocumented constraint forms
2020-05-15 09:54:40 +01:00
Paul Moore
6fcaf49cb0
Tidy up handling of unexpected forms of constraint
2020-05-14 17:04:18 +01:00
Paul Moore
9cf1bed78d
Address review comments
2020-05-14 11:33:30 +01:00
Paul Moore
ddbc8fd7c1
Split find_matches into generation and sorting
2020-05-13 17:52:09 +01:00
Paul Moore
64b3d1b278
Merge constraints into a single SpecifierSet
2020-05-06 11:30:25 +01:00
Paul Moore
ee4830b5ec
Move constraints from factory to provider
2020-05-06 10:56:50 +01:00
Tzu-ping Chung
d8062791dd
Implement use-user-site
2020-05-06 03:48:34 +08:00
Paul Moore
8664218164
Merge branch 'master' into nr_constraints2
2020-05-05 11:41:09 +01:00
Paul Moore
1599cc2a36
Merge branch 'master' into nr_upgrade_strategy
2020-05-03 11:01:27 +01:00
Paul Moore
c92f55f9fc
Implement constraints
2020-04-29 13:03:25 +01:00
Pradyun Gedam
58e2057f1a
Optimize "in path" lookups
...
O(n) list lookups to O(1) set lookups
2020-04-25 04:20:20 +05:30
Pradyun Gedam
d236004138
Rewrite get_topological_weights
to allow cycles
...
We take the length for the longest path to any node from root, ignoring
any paths that contain any node twice (i.e. cycles).
2020-04-25 04:09:14 +05:30
Paul Moore
bdf56a0303
Fix really, really dumb mistake
2020-04-24 17:52:51 +01:00
Paul Moore
2a66ad1e2d
Add an assertion to ensure we don't reuse the factory
2020-04-24 16:44:02 +01:00
Pradyun Gedam
e6853336fe
Revert "Drop code for nicer diffs later"
...
This reverts commit f927f9ae39
.
2020-04-24 19:57:58 +05:30
Paul Moore
7a54b2b3a8
Use is_direct rather than an explicit root parameter
2020-04-24 14:30:34 +01:00
Pradyun Gedam
746f47cc3a
Factor out logic for getting weights
2020-04-24 17:27:40 +05:30
Paul Moore
d605530b44
Implement upgrade strategies for the new resolver
2020-04-24 11:08:06 +01:00
Pradyun Gedam
f927f9ae39
Drop code for nicer diffs later
2020-04-23 07:04:28 +05:30
Pradyun Gedam
3fe1eab593
Reword get_installation_order docstring
2020-04-23 07:02:53 +05:30