plestylib.solver
================

.. py:module:: plestylib.solver


Submodules
----------

.. toctree::
   :maxdepth: 1

   /reference/plestylib/solver/iceblock/index
   /reference/plestylib/solver/scpi/index


Classes
-------

.. autoapisummary::

   plestylib.solver.ConfigParameter
   plestylib.solver.CmdSolver
   plestylib.solver.OpSolver


Package Contents
----------------

.. py:class:: ConfigParameter

   Represents a single configuration parameter for a device.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: default
      :type:  Any
      :value: None



   .. py:attribute:: value
      :type:  Any
      :value: None



   .. py:attribute:: dtype
      :type:  type | None
      :value: None



   .. py:attribute:: unit
      :type:  str | None
      :value: None



   .. py:attribute:: read_only
      :type:  bool
      :value: False



   .. py:attribute:: write_only
      :type:  bool
      :value: False



   .. py:attribute:: min_value
      :type:  float | int | None
      :value: None



   .. py:attribute:: max_value
      :type:  float | int | None
      :value: None



   .. py:attribute:: options
      :type:  list[Any] | None
      :value: None



   .. py:attribute:: command
      :type:  str | None
      :value: None



   .. py:attribute:: parser
      :type:  plestylib.device.device_utils.ResponseParser | None
      :value: None



   .. py:attribute:: description
      :type:  str | None
      :value: None



.. py:class:: CmdSolver

   Bases: :py:obj:`abc.ABC`


   Helper class that provides a standard way to create an ABC using
   inheritance.


   .. py:method:: get_write_cmd(cfg_param: plestylib.device.params.ConfigParameter, value: Any) -> str | None
      :abstractmethod:



   .. py:method:: get_query_cmd(cfg_param: plestylib.device.params.ConfigParameter) -> str | None
      :abstractmethod:



.. py:class:: OpSolver

   Bases: :py:obj:`abc.ABC`


   Helper class that provides a standard way to create an ABC using
   inheritance.


   .. py:method:: solve_request(request: dict) -> dict
      :abstractmethod:



