10.5. PyMoDAQ 4 (4.0.1-4.4.11)
Summary of the PyMoDAQ 4 series, from 4.0.1 (2023-04-25) to 4.4.11 (2025-04-03). Pull requests (#NNN) refer to the PyMoDAQ repository.
10.5.1. Highlights
PyMoDAQ 4 introduced the data management framework (DataWithAxes, DataToExport, DataActuator),
extensions discovered through entry points, the LECO communication protocol, and in its last minor releases
a consistent handling of units for actuators and data.
10.5.2. 4.0 (April-November 2023): data management and plugin discovery
Data management objects used throughout the modules; the
daq_utilspackage was renamed: #86, #99, #85DAQ_Viewer fully uses
DataToExportand emits dedicated signals: #124, #127; actuator positions useDataActuator: #147Exporters of data and h5 nodes, grouping and filtering of live data by source when saving: #77, #100, #103
Console extension: #84; DAQ Logger for PyMoDAQ 4: #113; Navigator connected to the scan: #107, #110
DAQ_Scan: averaging, batch scans, live plots, 0D data grouping: #104, #105, #115, #117
Entry points to discover plugins and extensions, extensions management: #130, #131, #133, #143
PID refactoring: #148; list parameters as dict and display of plugin configuration: #145
Documentation: PID module, plugin development tutorials, contributing to the documentation: #92, #120, #125
10.5.3. 4.1 (January-May 2024): settings, scans and data chunks
TCP/IP communication for PyMoDAQ 4 with serialization/deserialization: #183, #184
Custom scanners, 1D sparse scan, saving of scanner settings: #198, #203, #220
Enlargeable data chunks for saving and loading: #216, #218
Settings: edition during grab, config modification, combo entries with a dict, checkbox for list items: #221, #189, #213
Viewers: aspect ratio in Viewer2D, overlay in the 1D viewer, ROI improvements,
plotextra attributes: #225, #186, #226, #223DB logger for PyMoDAQ 4: #219; h5 node exporters: #197
Documentation: Linux installation, Git tutorial, axis handling in actuators: #182, #233, #171
10.5.4. 4.2 (May-August 2024): LECO and optimization
LECO protocol introduced, with
LECODirectorfor DAQ_Move/DAQ_Viewer, coordinator start and PyLECO integration: #267, #269, #300, #275Bayesian optimizer extension: #295
Interactive data plotting and ROI in viewers, enlargeable saving/loading, scatter plots: #266, #271, #278, #292
Automatic save/load of settings values (bounds, utility function): #296
Plugin listing: #302; documentation for data plotting and analysis notebooks: #281, #282
10.5.5. 4.3 (August-September 2024): units and architecture
Data units;
ThreadCommandwithstatus_sigeverywhere; parameters serialization for TCP/IP: #356, #358, #360, #326Properties to know whether a controller is master or slave, better master/slave handling: #330, #386
QApplicationas a context manager, Dashboard loader for extensions, DAQ_Move sizing: #335, #336, #342Units of
DataActuatoremitted by plugins, controller units back compatibility: #380, #387Default config path for macOS: #372; citation file: #363
10.5.6. 4.4 (September 2024-April 2025): consistent units
Display and controller units handled separately, units included in the serialization: #381, #385
Dedicated user condition to check that the target has been reached: #384
Units display fixes (
base_units, volt, degrees): #425, #427, #452; opposite button: #448LECO: binary transport, qt-less standalone module example, improved serializer: #404, #413, #430
bayesian-optimizationrestricted to < 2.0.0 until the new version is supported (4.4.5): #409Plugin entry points browsed in all discovered plugins: #442; last fixes on scan averaging and unit conversion of float-defined actuators: #566, #583