Solvers#

The conda solvers can be extended with additional backends with the conda_solvers plugin hook. Registered solvers will be available for configuration with the solver configuration and --solver command line option.

class CondaSolver#

Return type to use when defining a conda solver plugin hook.

For details on how this is used, see conda_solvers().

Parameters:
  • name -- Solver name (e.g., custom-solver).

  • backend -- Type that will be instantiated as the solver backend.

backend#
name#
conda_solvers()#

Register solvers in conda.

Example:

import logging

from conda import plugins
from conda.core import solve

log = logging.getLogger(__name__)


class VerboseSolver(solve.Solver):
    def solve_final_state(self, *args, **kwargs):
        log.info("My verbose solver!")
        return super().solve_final_state(*args, **kwargs)


@plugins.hookimpl
def conda_solvers():
    yield plugins.CondaSolver(
        name="verbose-classic",
        backend=VerboseSolver,
    )
Returns:

An iterable of solver entries.