pcdsdevices.utils.move_subdevices_to_start

pcdsdevices.utils.move_subdevices_to_start(cls: type[Device] | None = None, subdevice_cls: type[Device] = <class 'ophyd.device.Device'>) type[Device] | Callable[[type[Device]], type[Device]]

Arrange the component order of a device class to put subdevices first.

This can be useful to bring e.g. all the motors to the top for the typhos screen.

The relative ordering of subdevices is preserved.

Parameters:
  • cls (Device subclass) – The Device subclass that we’d like to rearrange the order of.

  • subdevice_cls (type, optional) – A specific class type to move to the front. If omitted, all device subclasses will be moved.

Returns:

cls (Device subclass, or function that returns it) – Decorator-compatible output. When used as a function or as a no-argument decorator, this will return the input device. When used as a decorator with the subdevice_cls argument, this will return a function as required by the decorator interface.