10.4. PyMoDAQ 5.0 (5.0.0-5.0.18)
PyMoDAQ 5.0.0 was released on 2024-08-22 (pre-release), 5.0.1 on 2025-03-04, and the series ended with 5.0.18 on 2025-07-01. Pull requests (#NNN) refer to the PyMoDAQ repository.
10.4.1. Highlights
5.0 is a major rewrite: the code base is split into separate packages (pymodaq_utils, pymodaq_data,
pymodaq_gui and pymodaq) with backward-compatibility layers for imports, data objects carry units,
and control modules communicate with ThreadCommand everywhere. The Dashboard becomes a CustomApp and the
control modules can be reshaped by the instrument plugins.
10.4.2. Major new features
Data units for the data objects and actuators: #356, #358; new
anglemethod on data objects: #357; conversion of units for float-defined actuators: #583; degrees kept when specified: #408; bounds handling for out-of-range values inDataActuator: #530ThreadCommandandstatus_sigused everywhere (including DAQ_Scan): #360, #349Dashboard inherits CustomApp: #429; Dashboard loader for extensions: #336
Control modules UI can be modified by the plugin: #397, #399; new control modules for PID setpoints used as actuators: #378, #379, #389
New
custom_commandin control modules, convenience methods for the abs/rel spinboxes, spinbox shortcuts: #531, #532, #535Mechanism to obtain the crosshair of a viewer in a plugin: #492
New
pymodaq_updater(check for new versions): #513, #639;pymodaq_modulesupdate and documentation: #512Parameters serialization for TCP/IP: #326; serialization tests for
DataActuatorandDataToActuators: #467Data and display: slider suffix and SI prefix: #328; H5Browser
load_file: #327; confirmation before overwriting an existing file: #334;overwriteparameter to write on an existing file: #545Backward compatibility with 4.x plugins and imports (
enumsmodule, specific imports, callables from 4 to 5): #447, #493, #495, #516, #540Python 3.10 serialization support,
mkQAppinstead ofQApplicationcalls, PySide6 GitHub actions: #571, #488, #463Documentation: miniforge/mamba installation, lab stories (Arduino on Ubuntu), documentation clean-up, plugin tutorials: #407, #461, #499, #503, #504, #364
10.4.3. Bug fixes (5.0.2-5.0.18)
5.0.2: LECO serializer imports and actuator, better scan averaging: #542, #544, #565
5.0.3-5.0.4: no polling of the final position outside scans, epsilons defined as a dict: #569, #575
5.0.5: unit conversion for float-defined actuators: #583
5.0.6-5.0.7: package version restrictions, default preset update: #600, #607
5.0.8-5.0.10: DAQ_Move bounds check, units in scaling/offset conversion, overshoot out of bounds: #613, #614, #615
5.0.11-5.0.12:
Hzandrpmas displayed units: #618, #6245.0.13-5.0.15: package and
pylecoversion ranges, update checker no longer installs packages: #637, #643, #6395.0.16-5.0.17: DAQ_Scan units, values expressed in the given axis units, logging with
exc_info: #648, #651, #6495.0.18: backward compatibility for
config_saver_loader,check_data_typein DAQ_Move: #660, #661