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.