plesty.lib.device ================= .. py:module:: plesty.lib.device .. autoapi-nested-parse:: Device abstractions and base classes for Plesty. Submodules ---------- .. toctree:: :maxdepth: 1 /reference/plesty/lib/device/async_wrapper/index /reference/plesty/lib/device/base_apt_device/index /reference/plesty/lib/device/base_device_sync/index /reference/plesty/lib/device/base_tcp_scpi_device/index /reference/plesty/lib/device/base_visa_scpi_device/index /reference/plesty/lib/device/composite_device/index /reference/plesty/lib/device/device_utils/index /reference/plesty/lib/device/doc/index /reference/plesty/lib/device/funcs/index /reference/plesty/lib/device/params/index /reference/plesty/lib/device/telemetry/index Classes ------- .. autoapisummary:: plesty.lib.device.DeviceDocModel plesty.lib.device.FuncDoc plesty.lib.device.FuncOutput plesty.lib.device.FuncParam Package Contents ---------------- .. py:class:: DeviceDocModel All doc-relevant metadata of a device, decoupled from rendering. :ivar parameters: Configuration parameters grouped by configuration group (``{group_name: [ConfigParameter, ...]}``). :ivar functions: The device's own operations (schema-registered plus ``@expose_to_api`` methods) as unified :class:`FuncDoc` objects. :ivar standard_methods: The common device API shared by every device (``connect``, ``write``, ``query``, ...), as :class:`FuncDoc`. .. py:attribute:: parameters :type: dict[str, list[plesty.lib.device.params.ConfigParameter]] .. py:attribute:: functions :type: list[plesty.lib.device.funcs.FuncDoc] .. py:attribute:: standard_methods :type: list[plesty.lib.device.funcs.FuncDoc] .. py:class:: FuncDoc One documented operation, regardless of how it is implemented. Unifies schema-registered operations and ``@expose_to_api`` custom methods into a single shape so documentation renders them identically. :ivar name: Operation / method name. :ivar source: ``"schema"`` for a registered operation, ``"custom"`` for an ``@expose_to_api`` (or public child) method. :ivar description: Human-readable description (from the schema or docstring). :ivar iparams: Input parameters. :ivar oparams: Output values. :ivar kind: What the operation does to the world (see :class:`~plesty.lib.device.device_utils.OpKind`); ``read`` when the module declared nothing. .. py:attribute:: name :type: str .. py:attribute:: source :type: str .. py:attribute:: description :type: str .. py:attribute:: iparams :type: list[FuncParam] .. py:attribute:: oparams :type: list[FuncOutput] .. py:attribute:: kind :type: plesty.lib.device.device_utils.OpKind .. py:class:: FuncOutput Data class to hold function output metadata. .. py:attribute:: name :type: str .. py:attribute:: dtype :type: Any .. py:attribute:: unit :type: str :value: '' .. py:attribute:: required :type: bool :value: True .. py:attribute:: code_mapping :type: dict[Any, str] | None :value: None .. py:attribute:: range :type: tuple[Any, Any] | None :value: None .. py:attribute:: shape :type: tuple[Any, Ellipsis] | None :value: None .. py:attribute:: item_dtype :type: Any :value: None .. py:attribute:: headers :type: list[plesty.lib.data.TableHeader] | None :value: None .. py:attribute:: description :type: str :value: '' .. py:class:: FuncParam Data class to hold function argument metadata. .. py:attribute:: name :type: str .. py:attribute:: dtype :type: Any .. py:attribute:: unit :type: str :value: '' .. py:attribute:: default :type: Any :value: None .. py:attribute:: required :type: bool :value: True .. py:attribute:: options :type: list[Any] | None :value: None .. py:attribute:: range :type: tuple[Any, Any] | None :value: None .. py:attribute:: shape :type: tuple[Any, Ellipsis] | None :value: None .. py:attribute:: item_dtype :type: Any :value: None .. py:attribute:: description :type: str :value: ''