forked from pool/python-resolvelib
- update to 0.8.0:
* Add ``backtrack_causes`` to ``get_preference``, which contains information about the requirements involved in the most recent backtrack. This allows the provider to utilise this information to tweak the ordering as well as for recording/reporting conflicts. * When merging a candidate's dependencies, make sure the merge target is up-to-date within the loop, so the merge does not lose information when a candidate returns multiple dependency specifications under one identifier (e.g. specifyiung two dependencies ``a>1`` and ``a<2``, instead of one single ``a>1,<2`` dependency). `#80 <https://github.com/sarugaku/resolvelib/issues/80>`_ * Redesign ``get_preference()`` to include resolution state on dependencies other than the currently working one, to allow the provider to better take account of the global resolver knowledge and determine the best strategy. The provider now can, for example, correctly calculate how far a dependency is from the root node in the graph. `#74 <https://github.com/sarugaku/resolvelib/issues/74>`_ * A new argument ``incompatibilities`` is now passed to the ``find_matches()`` hook, which the provider must use to exclude matches from the return value. * Redesign ``find_matches()`` to include resolution state on dependencies other than the currently working one, to handle usages that need to return candidates based on non-local states. One such example is PEP 508 direct URLs specified on a package, which need to be available to the same package specified with extras (which would have a different identifier). * The resolver no longer relies on implicit candidate equality to detect incompatibilities. This is done by an additional ``find_matches()`` argument; see the *Features* section to learn more. * Provide type stubs for most classes. * Fix a state management bug that causes the resolver to enter an infinite loop in certain backtracking cases. * Fix a performance regression if ``find_matches()`` returns a non-built-in sequence instance. * ``find_matches()`` now may return a ``Callable[[], Iterator[Candidate]]`` to OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-resolvelib?expand=0&rev=7
This commit is contained in:
@@ -1,3 +1,44 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 7 18:26:54 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.8.0:
|
||||||
|
* Add ``backtrack_causes`` to ``get_preference``, which contains information
|
||||||
|
about the requirements involved in the most recent backtrack. This allows
|
||||||
|
the provider to utilise this information to tweak the ordering as well as
|
||||||
|
for recording/reporting conflicts.
|
||||||
|
* When merging a candidate's dependencies, make sure the merge target is
|
||||||
|
up-to-date within the loop, so the merge does not lose information when a
|
||||||
|
candidate returns multiple dependency specifications under one identifier
|
||||||
|
(e.g. specifyiung two dependencies ``a>1`` and ``a<2``, instead of one single
|
||||||
|
``a>1,<2`` dependency). `#80 <https://github.com/sarugaku/resolvelib/issues/80>`_
|
||||||
|
* Redesign ``get_preference()`` to include resolution state on dependencies
|
||||||
|
other than the currently working one, to allow the provider to better take
|
||||||
|
account of the global resolver knowledge and determine the best strategy. The
|
||||||
|
provider now can, for example, correctly calculate how far a dependency is
|
||||||
|
from the root node in the graph. `#74 <https://github.com/sarugaku/resolvelib/issues/74>`_
|
||||||
|
* A new argument ``incompatibilities`` is now passed to the ``find_matches()``
|
||||||
|
hook, which the provider must use to exclude matches from the return value.
|
||||||
|
* Redesign ``find_matches()`` to include resolution state on dependencies other
|
||||||
|
than the currently working one, to handle usages that need to return candidates
|
||||||
|
based on non-local states. One such example is PEP 508 direct URLs specified
|
||||||
|
on a package, which need to be available to the same package specified with
|
||||||
|
extras (which would have a different identifier).
|
||||||
|
* The resolver no longer relies on implicit candidate equality to detect
|
||||||
|
incompatibilities. This is done by an additional ``find_matches()`` argument;
|
||||||
|
see the *Features* section to learn more.
|
||||||
|
* Provide type stubs for most classes.
|
||||||
|
* Fix a state management bug that causes the resolver to enter an infinite loop
|
||||||
|
in certain backtracking cases.
|
||||||
|
* Fix a performance regression if ``find_matches()`` returns a non-built-in sequence instance.
|
||||||
|
* ``find_matches()`` now may return a ``Callable[[], Iterator[Candidate]]`` to
|
||||||
|
avoid needing to provide all candidates eagerly for the resolver. This
|
||||||
|
improves performance when fetching candidates is costly, but not always
|
||||||
|
required.
|
||||||
|
* Add ``parent`` argument to the ``add_requirement()`` reporter hook.
|
||||||
|
* Redesign ``find_matches()`` to support a requirement "adding" candidates to
|
||||||
|
the set, and nudge the provider away from implementing ``find_matches()`` and
|
||||||
|
``is_satisfied_by()`` with incorrect set properties.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Apr 15 15:49:52 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
Wed Apr 15 15:49:52 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-resolvelib
|
# spec file for package python-resolvelib
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
Name: python-resolvelib
|
Name: python-resolvelib
|
||||||
Version: 0.3.0
|
Version: 0.8.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Module to resolve abstract dependencies into concrete ones
|
Summary: Module to resolve abstract dependencies into concrete ones
|
||||||
License: ISC
|
License: ISC
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:bddb31a88b77a74c3df5d0ff0c460ab7d0079ac61b91a44242f35251472c272c
|
|
||||||
size 376049
|
|
3
resolvelib-0.8.0.tar.gz
Normal file
3
resolvelib-0.8.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:247e9e4055b09f393013ea66f3b9616d58c419db3f5cc4fdecf2d12744beb840
|
||||||
|
size 765655
|
Reference in New Issue
Block a user