pymodaq 4.2.3__py3-none-any.whl → 4.2.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pymodaq might be problematic. Click here for more details.
- pymodaq/control_modules/daq_move_ui.py +5 -4
- pymodaq/dashboard.py +2 -3
- pymodaq/examples/custom_viewer.py +1 -1
- pymodaq/resources/VERSION +1 -1
- pymodaq/resources/config_template.toml +20 -16
- pymodaq/utils/daq_utils.py +45 -1
- pymodaq/utils/h5modules/data_saving.py +7 -3
- pymodaq/utils/plotting/data_viewers/viewer0D.py +1 -1
- pymodaq/utils/plotting/data_viewers/viewer1D.py +11 -5
- pymodaq/utils/plotting/utils/lineout.py +1 -1
- {pymodaq-4.2.3.dist-info → pymodaq-4.2.5.dist-info}/METADATA +9 -9
- {pymodaq-4.2.3.dist-info → pymodaq-4.2.5.dist-info}/RECORD +15 -15
- {pymodaq-4.2.3.dist-info → pymodaq-4.2.5.dist-info}/WHEEL +1 -1
- {pymodaq-4.2.3.dist-info → pymodaq-4.2.5.dist-info}/entry_points.txt +0 -0
- {pymodaq-4.2.3.dist-info → pymodaq-4.2.5.dist-info}/licenses/LICENSE +0 -0
|
@@ -187,9 +187,9 @@ class DAQ_Move_UI(ControlModuleUI):
|
|
|
187
187
|
self.main_ui.layout().addWidget(self.toolbar, 0, 0, 1, 2)
|
|
188
188
|
self.main_ui.layout().addWidget(self.move_toolbar, 1, 0, 1, 2)
|
|
189
189
|
|
|
190
|
-
self.abs_value_sb = SpinBox()
|
|
190
|
+
self.abs_value_sb = SpinBox(step=0.1, dec=True)
|
|
191
191
|
self.abs_value_sb.setStyleSheet("background-color : lightgreen; color: black")
|
|
192
|
-
self.abs_value_sb_2 = SpinBox()
|
|
192
|
+
self.abs_value_sb_2 = SpinBox(step=0.1, dec=True)
|
|
193
193
|
self.abs_value_sb_2.setStyleSheet("background-color : lightcoral; color: black")
|
|
194
194
|
self.move_toolbar.addWidget(self.abs_value_sb)
|
|
195
195
|
self.move_toolbar.addWidget(self.abs_value_sb_2)
|
|
@@ -213,7 +213,7 @@ class DAQ_Move_UI(ControlModuleUI):
|
|
|
213
213
|
self.control_ui.layout().addWidget(LabelWithFont('Abs. Value'), 0, 0)
|
|
214
214
|
self.find_home_pb = PushButtonIcon('home2', 'Find Home')
|
|
215
215
|
self.control_ui.layout().addWidget(self.find_home_pb, 0, 1)
|
|
216
|
-
self.abs_value_sb_bis = SpinBox()
|
|
216
|
+
self.abs_value_sb_bis = SpinBox(step=0.1, dec=True)
|
|
217
217
|
self.control_ui.layout().addWidget(self.abs_value_sb_bis, 1, 0)
|
|
218
218
|
self.move_abs_pb = PushButtonIcon('Move', 'Set Abs.',
|
|
219
219
|
tip='Set the value of the actuator to the set absolute value')
|
|
@@ -222,7 +222,7 @@ class DAQ_Move_UI(ControlModuleUI):
|
|
|
222
222
|
self.move_rel_plus_pb = PushButtonIcon('MoveUp', 'Set Rel. (+)')
|
|
223
223
|
self.control_ui.layout().addWidget(self.move_rel_plus_pb, 2, 1)
|
|
224
224
|
|
|
225
|
-
self.rel_value_sb = SpinBox()
|
|
225
|
+
self.rel_value_sb = SpinBox(step=0.1, dec=True)
|
|
226
226
|
self.control_ui.layout().addWidget(self.rel_value_sb, 3, 0)
|
|
227
227
|
self.move_rel_minus_pb = PushButtonIcon('MoveDown', 'Set Rel. (-)')
|
|
228
228
|
self.control_ui.layout().addWidget(self.move_rel_minus_pb, 3, 1)
|
|
@@ -311,6 +311,7 @@ class DAQ_Move_UI(ControlModuleUI):
|
|
|
311
311
|
self.actuators_combo.currentText()]))
|
|
312
312
|
|
|
313
313
|
def emit_move_abs(self, spinbox):
|
|
314
|
+
spinbox.editingFinished.emit()
|
|
314
315
|
self.command_sig.emit(ThreadCommand('move_abs', DataActuator(data=spinbox.value())))
|
|
315
316
|
|
|
316
317
|
def emit_move_rel(self, sign):
|
pymodaq/dashboard.py
CHANGED
|
@@ -229,7 +229,7 @@ class DashBoard(QObject):
|
|
|
229
229
|
return self.bayesian_module
|
|
230
230
|
|
|
231
231
|
def load_extension_from_name(self, name: str) -> dict:
|
|
232
|
-
self.load_extensions_module(find_dict_in_list_from_key_val(extensions, 'name', name))
|
|
232
|
+
return self.load_extensions_module(find_dict_in_list_from_key_val(extensions, 'name', name))
|
|
233
233
|
|
|
234
234
|
def load_extensions_module(self, ext: dict):
|
|
235
235
|
""" Init and load an extension from a plugin package
|
|
@@ -255,7 +255,7 @@ class DashBoard(QObject):
|
|
|
255
255
|
self.extension_windows[-1].setWindowTitle(ext['name'])
|
|
256
256
|
module = import_module(f"{ext['pkg']}.extensions.{ext['module']}")
|
|
257
257
|
klass = getattr(module, ext['class_name'])
|
|
258
|
-
self.extensions[ext['class_name']] = klass(
|
|
258
|
+
self.extensions[ext['class_name']] = klass(area, dashboard=self)
|
|
259
259
|
self.extension_windows[-1].show()
|
|
260
260
|
return self.extensions[ext['class_name']]
|
|
261
261
|
|
|
@@ -1210,7 +1210,6 @@ class DashBoard(QObject):
|
|
|
1210
1210
|
QtWidgets.QApplication.processEvents()
|
|
1211
1211
|
self.settings.child('detectors', name).setValue(det.initialized_state)
|
|
1212
1212
|
|
|
1213
|
-
Slot(bool)
|
|
1214
1213
|
def stop_moves(self, overshoot):
|
|
1215
1214
|
"""
|
|
1216
1215
|
Foreach module of the move module object list, stop motion.
|
|
@@ -96,7 +96,7 @@ if __name__ == '__main__':
|
|
|
96
96
|
Ny = 200
|
|
97
97
|
x = (np.linspace(0, Nx - 1, Nx) + 100) / 2
|
|
98
98
|
y = (np.linspace(0, Ny - 1, Ny) - 10) * 2
|
|
99
|
-
from pymodaq.utils.
|
|
99
|
+
from pymodaq.utils.math_utils import gauss2D
|
|
100
100
|
|
|
101
101
|
data_red = 3 * gauss2D(x, np.mean(x), (np.max(x)-np.min(x)) / 5, y, np.mean(y), (np.max(y)-np.min(y)) / 5, 1)
|
|
102
102
|
data_red += np.random.random(data_red.shape)
|
pymodaq/resources/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '4.2.
|
|
1
|
+
version = '4.2.5'
|
|
@@ -35,14 +35,10 @@ message_status_persistence = 1000 # ms
|
|
|
35
35
|
[user]
|
|
36
36
|
name = "User name" # default name used as author in the hdf5 saving files
|
|
37
37
|
|
|
38
|
-
[viewer]
|
|
39
|
-
daq_type = 'DAQ0D' #either "DAQ0D", "DAQ1D", "DAQ2D", "DAQND"
|
|
40
|
-
viewer_in_thread = true
|
|
41
|
-
timeout = 10000 # default duration in ms to wait for data to be acquirred
|
|
42
|
-
allow_settings_edition = false
|
|
43
38
|
|
|
44
39
|
[plotting]
|
|
45
40
|
backend = 'matplotlib' # either 'matplotlib' or 'qt' or any other custom backend
|
|
41
|
+
plot_colors = [[255, 255, 255], [255, 0, 0], [0, 255, 0], [0, 0, 255], [14, 207, 189], [207, 14, 166], [207, 204, 14]]
|
|
46
42
|
|
|
47
43
|
[network]
|
|
48
44
|
[network.logging]
|
|
@@ -69,19 +65,27 @@ default_preset_for_logger = "preset_default"
|
|
|
69
65
|
default_preset_for_pid = "beam_steering_mock"
|
|
70
66
|
|
|
71
67
|
[actuator]
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
68
|
+
epsilon_default = 1
|
|
69
|
+
polling_interval_ms = 100 # ms Careful when using TCP/IP connection as you can saturate the connection with too much polling
|
|
70
|
+
polling_timeout_s = 20 # s
|
|
71
|
+
refresh_timeout_ms = 500 # ms
|
|
72
|
+
timeout = 10000 # default duration in ms to wait for data to be acquirred
|
|
73
|
+
siprefix = true # tell if printing of current value use a SI prefix or not (µ, m, k, M...)
|
|
74
|
+
display_units = true # display units in the SpinBoxes
|
|
75
|
+
|
|
76
|
+
[viewer]
|
|
77
|
+
daq_type = 'DAQ0D' #either "DAQ0D", "DAQ1D", "DAQ2D", "DAQND"
|
|
78
|
+
viewer_in_thread = true
|
|
79
|
+
timeout = 10000 # default duration in ms to wait for data to be acquirred
|
|
80
|
+
allow_settings_edition = false
|
|
77
81
|
|
|
78
82
|
[scan]
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
scan_in_thread = true
|
|
84
|
+
show_popups = true
|
|
85
|
+
default = "Scan2D"
|
|
86
|
+
Naverage = 1 # minimum is 1
|
|
87
|
+
steps_limit = 1000 # the limit of the number of steps you can set in a given scan
|
|
88
|
+
sort1D = true
|
|
85
89
|
|
|
86
90
|
[scan.timeflow]
|
|
87
91
|
wait_time = 0
|
pymodaq/utils/daq_utils.py
CHANGED
|
@@ -42,10 +42,54 @@ else:
|
|
|
42
42
|
|
|
43
43
|
logger = logger_module.set_logger(logger_module.get_module_name(__file__))
|
|
44
44
|
|
|
45
|
-
plot_colors = [(255, 255, 255), (255, 0, 0), (0, 255, 0), (0, 0, 255), (14, 207, 189), (207, 14, 166), (207, 204, 14)]
|
|
46
45
|
config = Config()
|
|
47
46
|
|
|
48
47
|
|
|
48
|
+
class PlotColors:
|
|
49
|
+
|
|
50
|
+
def __init__(self, colors=config('plotting', 'plot_colors')[:]):
|
|
51
|
+
|
|
52
|
+
self._internal_counter = -1
|
|
53
|
+
|
|
54
|
+
self.check_colors(colors)
|
|
55
|
+
self._plot_colors = list(colors)
|
|
56
|
+
|
|
57
|
+
def __getitem__(self, item: int):
|
|
58
|
+
if not isinstance(item, int):
|
|
59
|
+
raise TypeError('getter should be an integer')
|
|
60
|
+
return tuple(self._plot_colors[item % len(self._plot_colors)])
|
|
61
|
+
|
|
62
|
+
def __len__(self):
|
|
63
|
+
return len(self._plot_colors)
|
|
64
|
+
|
|
65
|
+
def __iter__(self):
|
|
66
|
+
self._internal_counter = -1
|
|
67
|
+
return self
|
|
68
|
+
|
|
69
|
+
def __next__(self):
|
|
70
|
+
if self._internal_counter >= len(self) - 1:
|
|
71
|
+
raise StopIteration
|
|
72
|
+
self._internal_counter += 1
|
|
73
|
+
return self[self._internal_counter]
|
|
74
|
+
|
|
75
|
+
def check_colors(self, colors: IterableType):
|
|
76
|
+
if not isinstance(colors, Iterable):
|
|
77
|
+
raise TypeError('Colors should be a list of 3-tuple 8 bits integer (0-255)')
|
|
78
|
+
for color in colors:
|
|
79
|
+
self.check_color(color)
|
|
80
|
+
|
|
81
|
+
@staticmethod
|
|
82
|
+
def check_color(color: IterableType):
|
|
83
|
+
if not isinstance(color, Iterable) and len(color) != 3:
|
|
84
|
+
raise TypeError('Colors should be a list of 3-tuple 8 bits integer (0-255)')
|
|
85
|
+
for col_val in color:
|
|
86
|
+
if not (isinstance(col_val, int) and 0 <= col_val <= 255):
|
|
87
|
+
raise TypeError('Colors should be a list of 3-tuple 8 bits integer (0-255)')
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
plot_colors = PlotColors()
|
|
91
|
+
|
|
92
|
+
|
|
49
93
|
def is_64bits():
|
|
50
94
|
return sys.maxsize > 2**32
|
|
51
95
|
|
|
@@ -427,16 +427,19 @@ class DataSaverLoader(DataManagement):
|
|
|
427
427
|
if not isinstance(data_node, CARRAY):
|
|
428
428
|
return
|
|
429
429
|
data_nodes = [data_node]
|
|
430
|
+
error_node = None
|
|
430
431
|
try:
|
|
431
432
|
error_node_index = self.get_index_from_node_name(data_node)
|
|
432
|
-
|
|
433
|
+
if error_node_index is not None:
|
|
434
|
+
error_node = self._error_saver.get_node_from_index(parent_node, error_node_index)
|
|
433
435
|
except NodeError as e:
|
|
434
|
-
|
|
436
|
+
pass
|
|
435
437
|
|
|
436
438
|
if 'axis' in self.data_type.name:
|
|
437
439
|
ndarrays = [squeeze(data_node.read()) for data_node in data_nodes]
|
|
438
440
|
axes = [Axis(label=data_node.attrs['label'], units=data_node.attrs['units'],
|
|
439
441
|
data=np.linspace(0, ndarrays[0].size-1, ndarrays[0].size-1))]
|
|
442
|
+
error_arrays = None
|
|
440
443
|
else:
|
|
441
444
|
ndarrays = self.get_data_arrays(data_node, with_bkg=with_bkg, load_all=load_all)
|
|
442
445
|
axes = self.get_axes(parent_node)
|
|
@@ -467,7 +470,8 @@ class DataSaverLoader(DataManagement):
|
|
|
467
470
|
errors=error_arrays,
|
|
468
471
|
path=data_node.path,
|
|
469
472
|
**extra_attributes)
|
|
470
|
-
|
|
473
|
+
if 'axis' not in self.data_type.name:
|
|
474
|
+
data.timestamp = data_node.attrs['timestamp']
|
|
471
475
|
return data
|
|
472
476
|
|
|
473
477
|
|
|
@@ -278,7 +278,7 @@ def main():
|
|
|
278
278
|
app = QtWidgets.QApplication(sys.argv)
|
|
279
279
|
widget = QtWidgets.QWidget()
|
|
280
280
|
prog = Viewer0D(widget, show_toolbar=False)
|
|
281
|
-
from pymodaq.utils.
|
|
281
|
+
from pymodaq.utils.math_utils import gauss1D
|
|
282
282
|
|
|
283
283
|
x = np.linspace(0, 200, 201)
|
|
284
284
|
y1 = gauss1D(x, 75, 25) + 0.1*np.random.rand(len(x))
|
|
@@ -672,7 +672,9 @@ def main():
|
|
|
672
672
|
|
|
673
673
|
# x = np.sin(np.linspace(0,6*np.pi,201))
|
|
674
674
|
# y = np.sin(np.linspace(0, 6*np.pi, 201)+np.pi/2)
|
|
675
|
-
data = DataRaw('mydata', data=[y1, ydata_expodec, -ydata_expodec, -y1
|
|
675
|
+
data = DataRaw('mydata', data=[y1, ydata_expodec, -ydata_expodec, -y1,
|
|
676
|
+
y1, ydata_expodec, -ydata_expodec, -y1,
|
|
677
|
+
y1, ydata_expodec, -ydata_expodec, -y1,],
|
|
676
678
|
axes=[Axis('myaxis', 'units', data=x)])
|
|
677
679
|
|
|
678
680
|
Form.show()
|
|
@@ -700,7 +702,7 @@ def main_unsorted():
|
|
|
700
702
|
widget = QtWidgets.QWidget()
|
|
701
703
|
prog = Viewer1D(widget)
|
|
702
704
|
|
|
703
|
-
from pymodaq.utils.
|
|
705
|
+
from pymodaq.utils.math_utils import gauss1D
|
|
704
706
|
|
|
705
707
|
x = np.linspace(0, 200, 201)
|
|
706
708
|
xaxis = np.concatenate((x, x[::-1]))
|
|
@@ -713,6 +715,7 @@ def main_unsorted():
|
|
|
713
715
|
|
|
714
716
|
sys.exit(app.exec_())
|
|
715
717
|
|
|
718
|
+
|
|
716
719
|
def main_random():
|
|
717
720
|
app = QtWidgets.QApplication(sys.argv)
|
|
718
721
|
widget = QtWidgets.QWidget()
|
|
@@ -733,6 +736,7 @@ def main_random():
|
|
|
733
736
|
QtWidgets.QApplication.processEvents()
|
|
734
737
|
sys.exit(app.exec_())
|
|
735
738
|
|
|
739
|
+
|
|
736
740
|
def main_extra_scatter():
|
|
737
741
|
app = QtWidgets.QApplication(sys.argv)
|
|
738
742
|
widget = QtWidgets.QWidget()
|
|
@@ -761,6 +765,7 @@ def main_extra_scatter():
|
|
|
761
765
|
QtWidgets.QApplication.processEvents()
|
|
762
766
|
sys.exit(app.exec_())
|
|
763
767
|
|
|
768
|
+
|
|
764
769
|
def main_errors():
|
|
765
770
|
app = QtWidgets.QApplication(sys.argv)
|
|
766
771
|
widget = QtWidgets.QWidget()
|
|
@@ -783,6 +788,7 @@ def main_errors():
|
|
|
783
788
|
QtWidgets.QApplication.processEvents()
|
|
784
789
|
sys.exit(app.exec_())
|
|
785
790
|
|
|
791
|
+
|
|
786
792
|
def main_view1D():
|
|
787
793
|
app = QtWidgets.QApplication(sys.argv)
|
|
788
794
|
widget = QtWidgets.QWidget()
|
|
@@ -796,7 +802,7 @@ def main_nans():
|
|
|
796
802
|
widget = QtWidgets.QWidget()
|
|
797
803
|
prog = Viewer1D(widget)
|
|
798
804
|
|
|
799
|
-
from pymodaq.utils.
|
|
805
|
+
from pymodaq.utils.math_utils import gauss1D
|
|
800
806
|
|
|
801
807
|
x = np.linspace(0, 200, 201)
|
|
802
808
|
y = gauss1D(x, 75, 25)
|
|
@@ -812,9 +818,9 @@ def main_nans():
|
|
|
812
818
|
|
|
813
819
|
|
|
814
820
|
if __name__ == '__main__': # pragma: no cover
|
|
815
|
-
|
|
821
|
+
main()
|
|
816
822
|
# main_random()
|
|
817
823
|
#main_errors()
|
|
818
|
-
main_extra_scatter()
|
|
824
|
+
#main_extra_scatter()
|
|
819
825
|
#main_view1D()
|
|
820
826
|
#main_nans()
|
|
@@ -17,7 +17,7 @@ from pymodaq.utils.data import DataCalculated
|
|
|
17
17
|
|
|
18
18
|
logger = set_logger(get_module_name(__file__))
|
|
19
19
|
IMAGE_TYPES = ['red', 'green', 'blue']
|
|
20
|
-
COLOR_LIST = utils.plot_colors
|
|
20
|
+
COLOR_LIST = list(utils.plot_colors)
|
|
21
21
|
COLORS_DICT = dict(red=(255, 0, 0), green=(0, 255, 0), blue=(0, 0, 255), spread=(128, 128, 128))
|
|
22
22
|
|
|
23
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pymodaq
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.5
|
|
4
4
|
Summary: Modular Data Acquisition with Python
|
|
5
5
|
Project-URL: Homepage, http://pymodaq.cnrs.fr
|
|
6
6
|
Project-URL: Source, https://github.com/PyMoDAQ/PyMoDAQ
|
|
@@ -53,7 +53,7 @@ Requires-Dist: packaging
|
|
|
53
53
|
Requires-Dist: pint
|
|
54
54
|
Requires-Dist: pyleco; python_version >= '3.8'
|
|
55
55
|
Requires-Dist: pymodaq-plugin-manager>=0.0.17
|
|
56
|
-
Requires-Dist: pymodaq-plugins-mock
|
|
56
|
+
Requires-Dist: pymodaq-plugins-mock<5.0.0
|
|
57
57
|
Requires-Dist: pyqtgraph>=0.12
|
|
58
58
|
Requires-Dist: python-dateutil
|
|
59
59
|
Requires-Dist: qdarkstyle
|
|
@@ -93,25 +93,25 @@ Python Qt Backend OS Passed
|
|
|
93
93
|
====== ========== ======= ======
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
.. |38Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyqt5.yml/badge.svg?branch=
|
|
96
|
+
.. |38Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyqt5.yml/badge.svg?branch=4.2.x
|
|
97
97
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyqt5.yml
|
|
98
98
|
|
|
99
|
-
.. |39Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp39pyqt5.yml/badge.svg?branch=
|
|
99
|
+
.. |39Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp39pyqt5.yml/badge.svg?branch=4.2.x
|
|
100
100
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp39pyqt5.yml
|
|
101
101
|
|
|
102
|
-
.. |310Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp310pyqt5.yml/badge.svg?branch=
|
|
102
|
+
.. |310Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp310pyqt5.yml/badge.svg?branch=4.2.x
|
|
103
103
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp310pyqt5.yml
|
|
104
104
|
|
|
105
|
-
.. |311Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp311pyqt5.yml/badge.svg?branch=
|
|
105
|
+
.. |311Qt5| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp311pyqt5.yml/badge.svg?branch=4.2.x
|
|
106
106
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp311pyqt5.yml
|
|
107
107
|
|
|
108
|
-
.. |38Qt5win| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyqt5_win.yml/badge.svg?branch=
|
|
108
|
+
.. |38Qt5win| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyqt5_win.yml/badge.svg?branch=4.2.x
|
|
109
109
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyqt5_win.yml
|
|
110
110
|
|
|
111
|
-
.. |38pyside| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyside2.yml/badge.svg?branch=
|
|
111
|
+
.. |38pyside| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyside2.yml/badge.svg?branch=4.2.x
|
|
112
112
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp38pyside2.yml
|
|
113
113
|
|
|
114
|
-
.. |39Qt6| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp39pyqt6.yml/badge.svg?branch=
|
|
114
|
+
.. |39Qt6| image:: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp39pyqt6.yml/badge.svg?branch=4.2.x
|
|
115
115
|
:target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/Testp39pyqt6.yml
|
|
116
116
|
|
|
117
117
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
pymodaq/__init__.py,sha256=OzwjVWbxpnESia6TdOYBQInMYYeG3angsHwXWgLedrQ,4240
|
|
2
|
-
pymodaq/dashboard.py,sha256=
|
|
2
|
+
pymodaq/dashboard.py,sha256=qu-S3bYmiwOUsdiL5OFs2b7h82N3kYs4hLH3NLjkZ7Y,64558
|
|
3
3
|
pymodaq/icon.ico,sha256=hOHHfNDENKphQvG1WDleSEYcHukneR2eRFJu8isIlD4,74359
|
|
4
4
|
pymodaq/splash.png,sha256=ow8IECF3tPRUMA4tf2tMu1aRiMaxx91_Y2ckVxkrmF0,53114
|
|
5
5
|
pymodaq/control_modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
pymodaq/control_modules/daq_move.py,sha256=SOj8zsaN8xlAJzvxLao_f9Op0JhZ4eLJXH1GUAW8DnE,34977
|
|
7
|
-
pymodaq/control_modules/daq_move_ui.py,sha256=
|
|
7
|
+
pymodaq/control_modules/daq_move_ui.py,sha256=ZFV2iauEtbLDvAfjb4VgtfpM_Fa5VlCA9fC4zjl_INI,14641
|
|
8
8
|
pymodaq/control_modules/daq_viewer.py,sha256=iNN5iEsuTdxB8sxjL4FtrRth_Cj5rDHrTt32SpLg7oM,57723
|
|
9
9
|
pymodaq/control_modules/daq_viewer_ui.py,sha256=FWP3jdIOR9vTgYqNaaodteGZ3dwgQ1GdWKrOpOAuSrs,15693
|
|
10
10
|
pymodaq/control_modules/mocks.py,sha256=hh_xSWp9g1UV3NAQVD9Ft9tNWfTsSvKU0OU0trgzP2w,1956
|
|
@@ -13,7 +13,7 @@ pymodaq/control_modules/utils.py,sha256=5YdSwq_lFJm7IalYWe_Hn1U4LUoUmo1gedvV9Ugu
|
|
|
13
13
|
pymodaq/control_modules/viewer_utility_classes.py,sha256=XHL0UOi9rfDezyePaiBhh4KiAH0qeogo3AipA9ei2O8,26509
|
|
14
14
|
pymodaq/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
pymodaq/examples/custom_app.py,sha256=2wQR0hlPWjZrWK0abNF6ASv8iQyJqRn2CKnBa_nAgN4,10452
|
|
16
|
-
pymodaq/examples/custom_viewer.py,sha256=
|
|
16
|
+
pymodaq/examples/custom_viewer.py,sha256=nUj5n6l7DSyh-qaXboNBfXKa9mAiXrHSiOcuFL1ayRE,4814
|
|
17
17
|
pymodaq/examples/function_plotter.py,sha256=T-VT0Rd3jHP9GcR2h6Nao6lwZE06P8zWUbOlz8b8Rxk,6104
|
|
18
18
|
pymodaq/examples/nonlinearscanner.py,sha256=x0R2_FP0YnuOCCAmYRiAiZ1jfUdRxu5RqIYLyGQMZ0U,3790
|
|
19
19
|
pymodaq/examples/parameter_ex.py,sha256=yuUjHfiZg6LjNN0QYxZH264AjZt5SikNQRTVnqVS8jY,8067
|
|
@@ -57,9 +57,9 @@ pymodaq/post_treatment/daq_measurement/daq_measurement_GUI.py,sha256=1u7hWDaiwsZ
|
|
|
57
57
|
pymodaq/post_treatment/daq_measurement/daq_measurement_GUI.ui,sha256=PyzbCWPMkh5oIYYteZczXyWMeHKW9EJmM1QlzXhnyTk,7037
|
|
58
58
|
pymodaq/post_treatment/daq_measurement/daq_measurement_main.py,sha256=CAKwcWMOD86aXB8mbdxOK7e8nZRos5d59FzDtqK1QoY,17093
|
|
59
59
|
pymodaq/post_treatment/daq_measurement/process_from_QtDesigner_DAQ_Measurement_GUI.bat,sha256=e1tu2A67MS9fk3jhriF6saQgRxWIucIvNW92iWXFP6E,164
|
|
60
|
-
pymodaq/resources/VERSION,sha256
|
|
60
|
+
pymodaq/resources/VERSION,sha256=ZKzjlG-hmA6gYy8-ZH6pkW6v-i8Le1DLYEu1p7pAPXM,18
|
|
61
61
|
pymodaq/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
pymodaq/resources/config_template.toml,sha256=
|
|
62
|
+
pymodaq/resources/config_template.toml,sha256=43C1gVgB5bxmRpXaW9ru5t1X48KCgIZvPe6Epqkl68c,3112
|
|
63
63
|
pymodaq/resources/preset_default.xml,sha256=Dt8iWLwPPOPtcG00JCVP-mh-G7KC6B0YN8hd8RQdnNI,27256
|
|
64
64
|
pymodaq/resources/setup_plugin.py,sha256=yab26FHPB-zsUZ6ZiKQ7Rm9H1ZhoZW8RQoW4wPK-T94,3130
|
|
65
65
|
pymodaq/resources/triangulation_data.npy,sha256=Dzq6eE8f_i7Woloy1iUn6N1OfVdBZ4WnK4J4SCoqXso,9320
|
|
@@ -304,7 +304,7 @@ pymodaq/utils/calibration_camera.py,sha256=d3aAu0izXOdeLs-vyBaFfBuvyDGT3O-SreTuy
|
|
|
304
304
|
pymodaq/utils/chrono_timer.py,sha256=rwX8apS8B-IKhA0Cp2H9tLz0BRN7G3Pg5ptozvd3MKM,7244
|
|
305
305
|
pymodaq/utils/config.py,sha256=v0WoSscW0i-pFCrjCE9RVrfCH9Ef7mbqx3gmUp1xT8w,15883
|
|
306
306
|
pymodaq/utils/conftests.py,sha256=3Ak8WEpa3EhAp73Yb1LLq8YFONhPqiL7gG9eSDIoTNc,58
|
|
307
|
-
pymodaq/utils/daq_utils.py,sha256=
|
|
307
|
+
pymodaq/utils/daq_utils.py,sha256=ys8LI0aB8W1h0pDyx-KQ8S2VIIuL5PEMAaRSntNW_eM,27896
|
|
308
308
|
pymodaq/utils/data.py,sha256=XCk4oFWXvkIEloHSQruXvs27vHTnNJBZcpK8l6QYm9Y,105709
|
|
309
309
|
pymodaq/utils/enums.py,sha256=wpRipioUJkKcEfoaY2NrDQ2WhGxZTZiZoJty5f2Ljpc,2236
|
|
310
310
|
pymodaq/utils/exceptions.py,sha256=wLO6VlofzfwWkOOWMN2B-3NEWMfpgygyeEdakIx_rAs,668
|
|
@@ -340,7 +340,7 @@ pymodaq/utils/gui_utils/widgets/tree_toml.py,sha256=Csq1v1_sqdCEvrb4VCewfsMVMpu-
|
|
|
340
340
|
pymodaq/utils/h5modules/__init__.py,sha256=x3_4ELvG9onTKEFgIt9xEGg_mA1bB07dvVbU9q0xQKw,104
|
|
341
341
|
pymodaq/utils/h5modules/backends.py,sha256=i-3x_DtTbnYKqft9Y3V1PuinGRXZ9DVv0Mg9TNTA33Q,33269
|
|
342
342
|
pymodaq/utils/h5modules/browsing.py,sha256=NQuLJHh7AsU1q3vH_Pmi_FUx3V1KR2PV7SPnWb47y7Y,23356
|
|
343
|
-
pymodaq/utils/h5modules/data_saving.py,sha256=
|
|
343
|
+
pymodaq/utils/h5modules/data_saving.py,sha256=RP7cmrF77ELjzNnXJrfcFklKXD1jN0F36u9Wc08VgiU,42255
|
|
344
344
|
pymodaq/utils/h5modules/exporter.py,sha256=iCfUjkuGjs3-ijcUkt38NMrjO8tI9wXShvwYHJIUU70,3670
|
|
345
345
|
pymodaq/utils/h5modules/h5logging.py,sha256=UhRo9YvjU5Ujw_i5aPHXOgOdw_IszxmekOa7gYUY5AQ,2492
|
|
346
346
|
pymodaq/utils/h5modules/module_saving.py,sha256=r9rzHQhePS78yRZd4Sb-4vccLGNY8n_ulB0qJb6HogA,13761
|
|
@@ -393,8 +393,8 @@ pymodaq/utils/plotting/widgets.py,sha256=aD0ebvQrJYNkkwdE43c1Judqxn9rohQ37zvt3fL
|
|
|
393
393
|
pymodaq/utils/plotting/data_viewers/__init__.py,sha256=ve0IhcPpcK68xHxQ0CjcYt3d-X75WI7z3YONa45AS7U,248
|
|
394
394
|
pymodaq/utils/plotting/data_viewers/base.py,sha256=DnIeYACFGUswBq0OKt9g1r3nsDPsoRW44wfYuQy1osU,9637
|
|
395
395
|
pymodaq/utils/plotting/data_viewers/viewer.py,sha256=NjYzOdKE17BDhYJROfLkCU2vwiO1DpEsaQRMIfFyIJc,8541
|
|
396
|
-
pymodaq/utils/plotting/data_viewers/viewer0D.py,sha256=
|
|
397
|
-
pymodaq/utils/plotting/data_viewers/viewer1D.py,sha256=
|
|
396
|
+
pymodaq/utils/plotting/data_viewers/viewer0D.py,sha256=YgCNuqAW5NOURw2pqPWT4WHHaowXjySDWoYgY7lbl-s,11609
|
|
397
|
+
pymodaq/utils/plotting/data_viewers/viewer1D.py,sha256=7Iz0fDIgP_IpDt2QtB3Do8nONM0eZemcHSrv3XeJn_Q,32239
|
|
398
398
|
pymodaq/utils/plotting/data_viewers/viewer1Dbasic.py,sha256=u91tVhmi_WIlVa8areapb0xWu0NOr5pVRLMylY_in7g,7432
|
|
399
399
|
pymodaq/utils/plotting/data_viewers/viewer2D.py,sha256=M0Fb3wJ18OSz57edENXZUtpA6auAgO1QczK25-ULlH8,46203
|
|
400
400
|
pymodaq/utils/plotting/data_viewers/viewer2D_basic.py,sha256=aRLu8JVZZI8PH6Lxl8oITpHwUXaUY3PyLW6eHzkf76o,5588
|
|
@@ -410,7 +410,7 @@ pymodaq/utils/plotting/plotter/plotters/qt_plotters.py,sha256=E33lRZDUxSCWlpV-J9
|
|
|
410
410
|
pymodaq/utils/plotting/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
411
411
|
pymodaq/utils/plotting/utils/axes_viewer.py,sha256=sOfnqz4dyz46SjxO9rmYa7eXmRVq9fLejDawc1MEvKU,2945
|
|
412
412
|
pymodaq/utils/plotting/utils/filter.py,sha256=-rS3nUHcbzDXT4l8RfR-iziiMfqwRx_75faXo6g38p4,23175
|
|
413
|
-
pymodaq/utils/plotting/utils/lineout.py,sha256=
|
|
413
|
+
pymodaq/utils/plotting/utils/lineout.py,sha256=1k3pzF4mXiLTWQ6WEiBYpgVykK-luSv2D8VT-tGrYHw,8073
|
|
414
414
|
pymodaq/utils/plotting/utils/plot_utils.py,sha256=L7dIOjTlRjtoUEbX4_8d0HFPw45mP3jHkqp3oldShMY,19807
|
|
415
415
|
pymodaq/utils/plotting/utils/signalND.py,sha256=pprtf7aOwb6235VVicJCojJJAkBk92X9GPvqgq4gveg,44892
|
|
416
416
|
pymodaq/utils/scanner/__init__.py,sha256=LqY1QwGnJEgr8CcW8uLWzbWy55Nvkmjmww4nl7xMpYU,171
|
|
@@ -431,8 +431,8 @@ pymodaq/utils/tcp_ip/__init__.py,sha256=1e_EK0AgvdoLAD_CSGGEaITZdy6OWCO7ih9IAIp7
|
|
|
431
431
|
pymodaq/utils/tcp_ip/mysocket.py,sha256=StAWj8dzHeMnbLj68Sel81uWFy-YkKVNRnVf7gXrESI,3452
|
|
432
432
|
pymodaq/utils/tcp_ip/serializer.py,sha256=HJziYyR_duhGBt8QikmqET8OH1uI5OAFgQu4w4jCQt4,25776
|
|
433
433
|
pymodaq/utils/tcp_ip/tcp_server_client.py,sha256=xIMTNgVW_rKK0yTi4FDNFLf85-Akb27Jz2LdrvOrP68,30660
|
|
434
|
-
pymodaq-4.2.
|
|
435
|
-
pymodaq-4.2.
|
|
436
|
-
pymodaq-4.2.
|
|
437
|
-
pymodaq-4.2.
|
|
438
|
-
pymodaq-4.2.
|
|
434
|
+
pymodaq-4.2.5.dist-info/METADATA,sha256=w8Rqnjzuizmp5dos9sLHKLM75mA-jd4hTj7WcXo58vQ,7629
|
|
435
|
+
pymodaq-4.2.5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
436
|
+
pymodaq-4.2.5.dist-info/entry_points.txt,sha256=RAzdYNjvUT28I2eiCKki_g2NzXq0woWxhev6lwzwRv8,348
|
|
437
|
+
pymodaq-4.2.5.dist-info/licenses/LICENSE,sha256=VKOejxexXAe3XwfhAhcFGqeXQ12irxVHdeAojZwFEI8,1108
|
|
438
|
+
pymodaq-4.2.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|