plesty.lib.device

Device abstractions and base classes for Plesty.

Submodules

Classes

DeviceDocModel

All doc-relevant metadata of a device, decoupled from rendering.

FuncDoc

One documented operation, regardless of how it is implemented.

FuncOutput

Data class to hold function output metadata.

FuncParam

Data class to hold function argument metadata.

Package Contents

class plesty.lib.device.DeviceDocModel

All doc-relevant metadata of a device, decoupled from rendering.

Variables:
  • parameters – Configuration parameters grouped by configuration group ({group_name: [ConfigParameter, ...]}).

  • functions – The device’s own operations (schema-registered plus @expose_to_api methods) as unified FuncDoc objects.

  • standard_methods – The common device API shared by every device (connect, write, query, …), as FuncDoc.

parameters: dict[str, list[plesty.lib.device.params.ConfigParameter]]
functions: list[plesty.lib.device.funcs.FuncDoc]
standard_methods: list[plesty.lib.device.funcs.FuncDoc]
class plesty.lib.device.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.

Variables:
  • name – Operation / method name.

  • source"schema" for a registered operation, "custom" for an @expose_to_api (or public child) method.

  • description – Human-readable description (from the schema or docstring).

  • iparams – Input parameters.

  • oparams – Output values.

  • kind – What the operation does to the world (see OpKind); read when the module declared nothing.

name: str
source: str
description: str
iparams: list[FuncParam]
oparams: list[FuncOutput]
kind: plesty.lib.device.device_utils.OpKind
class plesty.lib.device.FuncOutput

Data class to hold function output metadata.

name: str
dtype: Any
unit: str = ''
required: bool = True
code_mapping: dict[Any, str] | None = None
range: tuple[Any, Any] | None = None
shape: tuple[Any, Ellipsis] | None = None
item_dtype: Any = None
headers: list[plesty.lib.data.TableHeader] | None = None
description: str = ''
class plesty.lib.device.FuncParam

Data class to hold function argument metadata.

name: str
dtype: Any
unit: str = ''
default: Any = None
required: bool = True
options: list[Any] | None = None
range: tuple[Any, Any] | None = None
shape: tuple[Any, Ellipsis] | None = None
item_dtype: Any = None
description: str = ''