Hardware Discovery
PyMoDAQ provides a shared, process-lifetime cache for enumerating hardware
resources. Each backend is queried at most once per process; every plugin that
imports from pymodaq_plugins_utils.hardware reuses the same cached result.
Both pyvisa and pyserial are optional dependencies. If a backend
is not installed, the corresponding functions return empty lists silently —
no exception is raised.
See also
hardware_discovery_plugin in the plugin development tutorial for migration examples.