code: def make_solver(solver_name, *args, **kwargs):
      """Creates a Solver from given parameters.
  
      :param solver_name: the solver to instantiate
      :type solver_name: string
      :param args: positional arguments to solver constructor.
      :param kwargs: keyword arguments to solver constructor.
  
      Use :func:`optunity.manual` to get a list of registered solvers.
      For constructor arguments per solver, please refer to :doc:`/user/solvers`.
  
      Raises ``KeyError`` if
  
      - ``solver_name`` is not registered
      - ``*args`` and ``**kwargs`` are invalid to instantiate the solver.
  
      """
      solvercls = solver_registry.get(solver_name)
      return solvercls(*args, **kwargs)
  
imports: import timeit
  import sys
  import operator
  from .None import functions
  from .None import solvers
  from .None import search_spaces
  from .solvers import solver_registry
  from .util import DocumentedNamedTuple
  from .constraints import wrap_constraints
label_desc: Use image node_id 8 for calling a global function with example usage: make_solver(solver_name) and returns: solvercls