pymodaq 5.1.6__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.
Files changed (154) hide show
  1. pymodaq/__init__.py +98 -0
  2. pymodaq/control_modules/__init__.py +1 -0
  3. pymodaq/control_modules/daq_move.py +1238 -0
  4. pymodaq/control_modules/daq_move_ui/__init__.py +0 -0
  5. pymodaq/control_modules/daq_move_ui/factory.py +48 -0
  6. pymodaq/control_modules/daq_move_ui/ui_base.py +359 -0
  7. pymodaq/control_modules/daq_move_ui/uis/__init__.py +0 -0
  8. pymodaq/control_modules/daq_move_ui/uis/binary.py +139 -0
  9. pymodaq/control_modules/daq_move_ui/uis/original.py +120 -0
  10. pymodaq/control_modules/daq_move_ui/uis/relative.py +124 -0
  11. pymodaq/control_modules/daq_move_ui/uis/simple.py +126 -0
  12. pymodaq/control_modules/daq_viewer.py +1517 -0
  13. pymodaq/control_modules/daq_viewer_ui.py +407 -0
  14. pymodaq/control_modules/mocks.py +57 -0
  15. pymodaq/control_modules/move_utility_classes.py +1141 -0
  16. pymodaq/control_modules/thread_commands.py +137 -0
  17. pymodaq/control_modules/ui_utils.py +72 -0
  18. pymodaq/control_modules/utils.py +591 -0
  19. pymodaq/control_modules/viewer_utility_classes.py +670 -0
  20. pymodaq/daq_utils/__init__.py +0 -0
  21. pymodaq/daq_utils/daq_utils.py +6 -0
  22. pymodaq/dashboard.py +2396 -0
  23. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.aliases +3 -0
  24. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.lvlps +3 -0
  25. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.lvproj +32 -0
  26. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.vi +0 -0
  27. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Server_1Dgaussian.vi +0 -0
  28. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Server_2Dgaussian.vi +0 -0
  29. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_cmd.vi +0 -0
  30. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_float.vi +0 -0
  31. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_int.vi +0 -0
  32. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_data.vi +0 -0
  33. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_int.vi +0 -0
  34. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_scalar.vi +0 -0
  35. pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_string.vi +0 -0
  36. pymodaq/examples/Labview_TCP_Client/client_state.ctl +0 -0
  37. pymodaq/examples/Labview_TCP_Client/cmd_types.ctl +0 -0
  38. pymodaq/examples/__init__.py +0 -0
  39. pymodaq/examples/function_plotter.py +160 -0
  40. pymodaq/examples/nonlinearscanner.py +126 -0
  41. pymodaq/examples/qt_less_standalone_module.py +165 -0
  42. pymodaq/examples/tcp_client.py +97 -0
  43. pymodaq/extensions/__init__.py +25 -0
  44. pymodaq/extensions/adaptive/__init__.py +2 -0
  45. pymodaq/extensions/adaptive/adaptive_optimization.py +179 -0
  46. pymodaq/extensions/adaptive/loss_function/_1d_loss_functions.py +73 -0
  47. pymodaq/extensions/adaptive/loss_function/_2d_loss_functions.py +73 -0
  48. pymodaq/extensions/adaptive/loss_function/__init__.py +3 -0
  49. pymodaq/extensions/adaptive/loss_function/loss_factory.py +110 -0
  50. pymodaq/extensions/adaptive/utils.py +123 -0
  51. pymodaq/extensions/bayesian/__init__.py +2 -0
  52. pymodaq/extensions/bayesian/acquisition/__init__.py +2 -0
  53. pymodaq/extensions/bayesian/acquisition/acquisition_function_factory.py +80 -0
  54. pymodaq/extensions/bayesian/acquisition/base_acquisition_function.py +105 -0
  55. pymodaq/extensions/bayesian/bayesian_optimization.py +143 -0
  56. pymodaq/extensions/bayesian/utils.py +180 -0
  57. pymodaq/extensions/console.py +73 -0
  58. pymodaq/extensions/daq_logger/__init__.py +1 -0
  59. pymodaq/extensions/daq_logger/abstract.py +52 -0
  60. pymodaq/extensions/daq_logger/daq_logger.py +519 -0
  61. pymodaq/extensions/daq_logger/db/__init__.py +0 -0
  62. pymodaq/extensions/daq_logger/db/db_logger.py +300 -0
  63. pymodaq/extensions/daq_logger/db/db_logger_models.py +100 -0
  64. pymodaq/extensions/daq_logger/h5logging.py +84 -0
  65. pymodaq/extensions/daq_scan.py +1218 -0
  66. pymodaq/extensions/daq_scan_ui.py +241 -0
  67. pymodaq/extensions/data_mixer/__init__.py +0 -0
  68. pymodaq/extensions/data_mixer/daq_0Dviewer_DataMixer.py +97 -0
  69. pymodaq/extensions/data_mixer/data_mixer.py +262 -0
  70. pymodaq/extensions/data_mixer/model.py +108 -0
  71. pymodaq/extensions/data_mixer/models/__init__.py +0 -0
  72. pymodaq/extensions/data_mixer/models/equation_model.py +91 -0
  73. pymodaq/extensions/data_mixer/models/gaussian_fit_model.py +65 -0
  74. pymodaq/extensions/data_mixer/parser.py +53 -0
  75. pymodaq/extensions/data_mixer/utils.py +23 -0
  76. pymodaq/extensions/h5browser.py +9 -0
  77. pymodaq/extensions/optimizers_base/__init__.py +0 -0
  78. pymodaq/extensions/optimizers_base/optimizer.py +1016 -0
  79. pymodaq/extensions/optimizers_base/thread_commands.py +22 -0
  80. pymodaq/extensions/optimizers_base/utils.py +427 -0
  81. pymodaq/extensions/pid/__init__.py +16 -0
  82. pymodaq/extensions/pid/actuator_controller.py +14 -0
  83. pymodaq/extensions/pid/daq_move_PID.py +154 -0
  84. pymodaq/extensions/pid/pid_controller.py +1016 -0
  85. pymodaq/extensions/pid/utils.py +189 -0
  86. pymodaq/extensions/utils.py +111 -0
  87. pymodaq/icon.ico +0 -0
  88. pymodaq/post_treatment/__init__.py +6 -0
  89. pymodaq/post_treatment/load_and_plot.py +352 -0
  90. pymodaq/resources/__init__.py +0 -0
  91. pymodaq/resources/config_template.toml +57 -0
  92. pymodaq/resources/preset_default.xml +1 -0
  93. pymodaq/resources/setup_plugin.py +73 -0
  94. pymodaq/splash.png +0 -0
  95. pymodaq/utils/__init__.py +0 -0
  96. pymodaq/utils/array_manipulation.py +6 -0
  97. pymodaq/utils/calibration_camera.py +180 -0
  98. pymodaq/utils/chrono_timer.py +203 -0
  99. pymodaq/utils/config.py +53 -0
  100. pymodaq/utils/conftests.py +5 -0
  101. pymodaq/utils/daq_utils.py +158 -0
  102. pymodaq/utils/data.py +128 -0
  103. pymodaq/utils/enums.py +6 -0
  104. pymodaq/utils/exceptions.py +38 -0
  105. pymodaq/utils/gui_utils/__init__.py +10 -0
  106. pymodaq/utils/gui_utils/loader_utils.py +75 -0
  107. pymodaq/utils/gui_utils/utils.py +18 -0
  108. pymodaq/utils/gui_utils/widgets/lcd.py +8 -0
  109. pymodaq/utils/h5modules/__init__.py +2 -0
  110. pymodaq/utils/h5modules/module_saving.py +526 -0
  111. pymodaq/utils/leco/__init__.py +25 -0
  112. pymodaq/utils/leco/daq_move_LECODirector.py +217 -0
  113. pymodaq/utils/leco/daq_xDviewer_LECODirector.py +163 -0
  114. pymodaq/utils/leco/director_utils.py +74 -0
  115. pymodaq/utils/leco/leco_director.py +166 -0
  116. pymodaq/utils/leco/pymodaq_listener.py +364 -0
  117. pymodaq/utils/leco/rpc_method_definitions.py +43 -0
  118. pymodaq/utils/leco/utils.py +74 -0
  119. pymodaq/utils/logger.py +6 -0
  120. pymodaq/utils/managers/__init__.py +0 -0
  121. pymodaq/utils/managers/batchscan_manager.py +346 -0
  122. pymodaq/utils/managers/modules_manager.py +589 -0
  123. pymodaq/utils/managers/overshoot_manager.py +242 -0
  124. pymodaq/utils/managers/preset_manager.py +229 -0
  125. pymodaq/utils/managers/preset_manager_utils.py +262 -0
  126. pymodaq/utils/managers/remote_manager.py +484 -0
  127. pymodaq/utils/math_utils.py +6 -0
  128. pymodaq/utils/messenger.py +6 -0
  129. pymodaq/utils/parameter/__init__.py +10 -0
  130. pymodaq/utils/parameter/utils.py +6 -0
  131. pymodaq/utils/scanner/__init__.py +5 -0
  132. pymodaq/utils/scanner/scan_config.py +16 -0
  133. pymodaq/utils/scanner/scan_factory.py +259 -0
  134. pymodaq/utils/scanner/scan_selector.py +477 -0
  135. pymodaq/utils/scanner/scanner.py +324 -0
  136. pymodaq/utils/scanner/scanners/_1d_scanners.py +174 -0
  137. pymodaq/utils/scanner/scanners/_2d_scanners.py +299 -0
  138. pymodaq/utils/scanner/scanners/__init__.py +1 -0
  139. pymodaq/utils/scanner/scanners/sequential.py +224 -0
  140. pymodaq/utils/scanner/scanners/tabular.py +319 -0
  141. pymodaq/utils/scanner/utils.py +110 -0
  142. pymodaq/utils/svg/__init__.py +6 -0
  143. pymodaq/utils/svg/svg_renderer.py +20 -0
  144. pymodaq/utils/svg/svg_view.py +35 -0
  145. pymodaq/utils/svg/svg_viewer2D.py +50 -0
  146. pymodaq/utils/tcp_ip/__init__.py +6 -0
  147. pymodaq/utils/tcp_ip/mysocket.py +12 -0
  148. pymodaq/utils/tcp_ip/serializer.py +13 -0
  149. pymodaq/utils/tcp_ip/tcp_server_client.py +772 -0
  150. pymodaq-5.1.6.dist-info/METADATA +238 -0
  151. pymodaq-5.1.6.dist-info/RECORD +154 -0
  152. pymodaq-5.1.6.dist-info/WHEEL +4 -0
  153. pymodaq-5.1.6.dist-info/entry_points.txt +7 -0
  154. pymodaq-5.1.6.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,238 @@
1
+ Metadata-Version: 2.4
2
+ Name: pymodaq
3
+ Version: 5.1.6
4
+ Summary: Modular Data Acquisition with Python
5
+ Project-URL: Homepage, http://pymodaq.cnrs.fr
6
+ Project-URL: Source, https://github.com/PyMoDAQ/PyMoDAQ
7
+ Project-URL: Tracker, https://github.com/PyMoDAQ/PyMoDAQ/issues
8
+ Author-email: Sébastien Weber <sebastien.weber@cemes.fr>
9
+ License: The MIT License (MIT)
10
+
11
+ Copyright (c) 2021 Sebastien Weber <sebastien.weber@cemes.fr>
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ of this software and associated documentation files (the "Software"), to deal
15
+ in the Software without restriction, including without limitation the rights
16
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
+ copies of the Software, and to permit persons to whom the Software is
18
+ furnished to do so, subject to the following conditions:
19
+
20
+ The above copyright notice and this permission notice shall be included in
21
+ all copies or substantial portions of the Software.
22
+
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29
+ THE SOFTWARE.
30
+ License-File: LICENSE
31
+ Classifier: Development Status :: 5 - Production/Stable
32
+ Classifier: Environment :: Other Environment
33
+ Classifier: Intended Audience :: Science/Research
34
+ Classifier: License :: OSI Approved :: MIT License
35
+ Classifier: Natural Language :: English
36
+ Classifier: Operating System :: OS Independent
37
+ Classifier: Programming Language :: Python :: 3.9
38
+ Classifier: Programming Language :: Python :: 3.10
39
+ Classifier: Programming Language :: Python :: 3.11
40
+ Classifier: Programming Language :: Python :: 3.12
41
+ Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
42
+ Classifier: Topic :: Scientific/Engineering :: Visualization
43
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
44
+ Classifier: Topic :: Software Development :: User Interfaces
45
+ Requires-Python: >=3.8
46
+ Requires-Dist: adaptive
47
+ Requires-Dist: bayesian-optimization>=2.0
48
+ Requires-Dist: pyleco>0.3; python_version >= '3.8'
49
+ Requires-Dist: pymodaq-data>=5.0.21
50
+ Requires-Dist: pymodaq-gui>=5.0.32
51
+ Requires-Dist: pymodaq-plugin-manager>=0.0.17
52
+ Requires-Dist: pymodaq-plugins-mock>=5.0.5
53
+ Requires-Dist: pymodaq-utils>=1.0.11
54
+ Requires-Dist: qtconsole
55
+ Requires-Dist: simple-pid
56
+ Provides-Extra: dev
57
+ Requires-Dist: flake8; extra == 'dev'
58
+ Requires-Dist: h5py; extra == 'dev'
59
+ Requires-Dist: hatch; extra == 'dev'
60
+ Requires-Dist: pyqt5; extra == 'dev'
61
+ Requires-Dist: pyqt6; extra == 'dev'
62
+ Requires-Dist: pyside6; extra == 'dev'
63
+ Requires-Dist: pytest; extra == 'dev'
64
+ Requires-Dist: pytest-cov; extra == 'dev'
65
+ Requires-Dist: pytest-qt; extra == 'dev'
66
+ Requires-Dist: pytest-xdist; extra == 'dev'
67
+ Requires-Dist: pytest-xvfb; extra == 'dev'
68
+ Description-Content-Type: text/x-rst
69
+
70
+ .. ############################################################
71
+ .. WARNING: This file is AUTO-GENERATED from README.rst.tpl.
72
+ .. ⚠️ DO NOT EDIT MANUALLY ⚠️
73
+ .. ############################################################
74
+
75
+
76
+ PyMoDAQ
77
+ #######
78
+
79
+ .. image:: https://img.shields.io/pypi/v/pymodaq.svg
80
+ :target: https://pypi.org/project/pymodaq/
81
+ :alt: Latest Version
82
+
83
+ .. image:: https://readthedocs.org/projects/pymodaq/badge/?version=latest
84
+ :target: https://pymodaq.readthedocs.io/en/stable/?badge=latest
85
+ :alt: Documentation Status
86
+
87
+ .. image:: https://codecov.io/gh/PyMoDAQ/PyMoDAQ/graph/badge.svg?token=IQNJRCQDM2
88
+ :target: https://codecov.io/gh/PyMoDAQ/PyMoDAQ
89
+
90
+
91
+
92
+ +-------------+-------------------+------------------+---------------------+
93
+ | Linux | PyQt5 | PyQt6 | PySide6 |
94
+ +=============+===================+==================+=====================+
95
+ | Python 3.9 | |39-linux-pyqt5| | |39-linux-pyqt6| | |39-linux-pyside6| |
96
+ +-------------+-------------------+------------------+---------------------+
97
+ | Python 3.10 | |310-linux-pyqt5| ||310-linux-pyqt6| | |310-linux-pyside6| |
98
+ +-------------+-------------------+------------------+---------------------+
99
+ | Python 3.11 | |311-linux-pyqt5| ||311-linux-pyqt6| | |311-linux-pyside6| |
100
+ +-------------+-------------------+------------------+---------------------+
101
+ | Python 3.12 | |312-linux-pyqt5| ||312-linux-pyqt6| | |312-linux-pyside6| |
102
+ +-------------+-------------------+------------------+---------------------+
103
+
104
+
105
+ .. |39-linux-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.9_pyqt5.svg
106
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
107
+
108
+ .. |39-linux-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.9_pyqt6.svg
109
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
110
+
111
+ .. |39-linux-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.9_pyside6.svg
112
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
113
+
114
+ .. |310-linux-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.10_pyqt5.svg
115
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
116
+
117
+ .. |310-linux-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.10_pyqt6.svg
118
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
119
+
120
+ .. |310-linux-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.10_pyside6.svg
121
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
122
+
123
+ .. |311-linux-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.11_pyqt5.svg
124
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
125
+
126
+ .. |311-linux-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.11_pyqt6.svg
127
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
128
+
129
+ .. |311-linux-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.11_pyside6.svg
130
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
131
+
132
+ .. |312-linux-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.12_pyqt5.svg
133
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
134
+
135
+ .. |312-linux-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.12_pyqt6.svg
136
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
137
+
138
+ .. |312-linux-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Linux_3.12_pyside6.svg
139
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
140
+
141
+
142
+ +-------------+---------------------+--------------------+-----------------------+
143
+ | Windows | PyQt5 | PyQt6 | PySide6 |
144
+ +=============+=====================+====================+=======================+
145
+ | Python 3.9 | |39-windows-pyqt5| | |39-windows-pyqt6| | |39-windows-pyside6| |
146
+ +-------------+---------------------+--------------------+-----------------------+
147
+ | Python 3.10 | |310-windows-pyqt5| ||310-windows-pyqt6| | |310-windows-pyside6| |
148
+ +-------------+---------------------+--------------------+-----------------------+
149
+ | Python 3.11 | |311-windows-pyqt5| ||311-windows-pyqt6| | |311-windows-pyside6| |
150
+ +-------------+---------------------+--------------------+-----------------------+
151
+ | Python 3.12 | |312-windows-pyqt5| ||312-windows-pyqt6| | |312-windows-pyside6| |
152
+ +-------------+---------------------+--------------------+-----------------------+
153
+
154
+ .. |39-windows-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.9_pyqt5.svg
155
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
156
+
157
+ .. |39-windows-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.9_pyqt6.svg
158
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
159
+
160
+ .. |39-windows-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.9_pyside6.svg
161
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
162
+
163
+ .. |310-windows-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.10_pyqt5.svg
164
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
165
+
166
+ .. |310-windows-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.10_pyqt6.svg
167
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
168
+
169
+ .. |310-windows-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.10_pyside6.svg
170
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
171
+
172
+ .. |311-windows-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.11_pyqt5.svg
173
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
174
+
175
+ .. |311-windows-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.11_pyqt6.svg
176
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
177
+
178
+ .. |311-windows-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.11_pyside6.svg
179
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
180
+
181
+ .. |312-windows-pyqt5| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.12_pyqt5.svg
182
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
183
+
184
+ .. |312-windows-pyqt6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.12_pyqt6.svg
185
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
186
+
187
+ .. |312-windows-pyside6| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq/5.1.x/tests_Windows_3.12_pyside6.svg
188
+ :target: https://github.com/PyMoDAQ/PyMoDAQ/actions/workflows/tests-pymodaq.yml
189
+
190
+
191
+
192
+
193
+ .. figure:: http://pymodaq.cnrs.fr/en/latest/_static/splash.png
194
+ :alt: shortcut
195
+
196
+
197
+ PyMoDAQ, Modular Data Acquisition with Python, is a set of **python** modules used to interface any kind of experiments.
198
+ It simplifies the interaction with detector and actuator hardware to go straight to the data acquisition of interest.
199
+
200
+ It has two purposes:
201
+
202
+ * First, to provide a complete interface to perform automated measurements or logging data without having to write a user/interface for each
203
+ new experiment, this is under the *Dashboard_module* environment and its extensions.
204
+ * Second, to provide various tools (modules) to easily build *custom apps*
205
+
206
+ It is organised a shown below:
207
+
208
+ .. figure:: http://pymodaq.cnrs.fr/en/latest/_images/pymodaq_diagram.png
209
+ :alt: overview
210
+
211
+ PyMoDAQ's Dashboard and its extensions: DAQ_Scan for automated acquisitions, DAQ_Logger for data logging and many other.
212
+
213
+ The main component is the **Dashboard** : This is a graphical component that will initialize actuators and detectors given
214
+ the need of your particular experiment. You configure the dashboard using an interface for quick launch of various
215
+ configurations (numbers and types of control modules).
216
+
217
+ The detectors and the actuators are represented and manipulated using two control modules:
218
+
219
+ * **DAQ_Move_module** : used to control/drive an actuator (stand alone and/or automated).
220
+ Any number of these modules can be instantiated in the Dashboard
221
+ * **DAQ_Viewer_module** : used to control/drive a detector (stand alone and/or automated).
222
+
223
+ Any number of these modules can be instantiated in the Dashboard.
224
+
225
+ The Dashboard allows you to start dedicated extensions that will make use of the control modules:
226
+
227
+ * **DAQ_Logger_module** : This module lets you log data from one or many detectors defined in the dashboard. You can log data
228
+ in a binary hierarchical hdf5 file or towards a sql database
229
+ * **DAQ_Scan_module** : This module lets you configure automated data acquisition from one or many detectors defined
230
+ in the dashboard as a function or one or more actuators defined also in the dashboard.
231
+
232
+ and many others to simplify any application development.
233
+
234
+ Published under the MIT FREE SOFTWARE LICENSE
235
+
236
+ GitHub repo: https://github.com/PyMoDAQ
237
+
238
+ Documentation: http://pymodaq.cnrs.fr/
@@ -0,0 +1,154 @@
1
+ pymodaq/__init__.py,sha256=Y69Cfw-yaTAxZ8WAZWX4L7IWFaoQ2vkRUsu5F8dXxAM,3766
2
+ pymodaq/dashboard.py,sha256=7PIf0V5a8rs6PXE5k78DBDWbd6xLlIvOoT--fv1Rvzc,92730
3
+ pymodaq/icon.ico,sha256=hOHHfNDENKphQvG1WDleSEYcHukneR2eRFJu8isIlD4,74359
4
+ pymodaq/splash.png,sha256=ow8IECF3tPRUMA4tf2tMu1aRiMaxx91_Y2ckVxkrmF0,53114
5
+ pymodaq/control_modules/__init__.py,sha256=OBnvZ_SLEn68fKGVjx84Q6FT6rwGweDE1kaKNGe-JOg,50
6
+ pymodaq/control_modules/daq_move.py,sha256=RgF5eCN1Ob6vz3T9w_ZywEV4ZXWHOFd2zRX3HrhYxVY,46969
7
+ pymodaq/control_modules/daq_viewer.py,sha256=hY2p9wEOC9XRdnqeph4EQc1aLflabBBPYCbQv5tRchE,60227
8
+ pymodaq/control_modules/daq_viewer_ui.py,sha256=AKcQdqpMI9q4RBuc-xb4WVX4uXugwdKUOD-Xlw1SNv8,16036
9
+ pymodaq/control_modules/mocks.py,sha256=aDtnBtCmY1-fLr2wSDCaG_18L0EVRiE_qZOGLj2qrDc,2276
10
+ pymodaq/control_modules/move_utility_classes.py,sha256=aQ57xKG9q_w6OUIs289yScB5MRjWTa0byg7TfQyUcug,47417
11
+ pymodaq/control_modules/thread_commands.py,sha256=fUetx5qDD1dLDeYNa-l32uWhcsaZQfo7nUVlrRt0mpw,3375
12
+ pymodaq/control_modules/ui_utils.py,sha256=pyfa3cS9s7Q9dGD_Pcgpo87sVb6JOFUQS3cg6vwsLFk,2205
13
+ pymodaq/control_modules/utils.py,sha256=qkFmIXYk1iyECpJXHaTEWIRaZTbwQjS1UmFPxRsuzgw,23093
14
+ pymodaq/control_modules/viewer_utility_classes.py,sha256=2T-nYuzNC3BQIdYqJoyy7urbpl24Ci1Wflj0NLlWioM,27947
15
+ pymodaq/control_modules/daq_move_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ pymodaq/control_modules/daq_move_ui/factory.py,sha256=Gbkhk1tSwDnKnW2u8P1umF8VxifOpxkjuQjE4stpiPo,1340
17
+ pymodaq/control_modules/daq_move_ui/ui_base.py,sha256=9F6mk9ffDtDhqoe1vKf-vcmfdQKVcj8xiOr9u_iDGhA,15490
18
+ pymodaq/control_modules/daq_move_ui/uis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ pymodaq/control_modules/daq_move_ui/uis/binary.py,sha256=aIULdRO_8GgyDuenpV6I-cI_HkIJLYoI2rlttbiWWTU,5564
20
+ pymodaq/control_modules/daq_move_ui/uis/original.py,sha256=E1Fdvi4yGSvvNDWzEOJPllTGgbZWm9s6ctjsApEqe5A,4933
21
+ pymodaq/control_modules/daq_move_ui/uis/relative.py,sha256=Sg179tRmE74lEheua2g_bpqbHoMeRgt3zosww5QlrJU,4889
22
+ pymodaq/control_modules/daq_move_ui/uis/simple.py,sha256=C2oOFlrAo99X_AjdvcXKLGSeiYJmadjk49MSHZFXrns,4949
23
+ pymodaq/daq_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ pymodaq/daq_utils/daq_utils.py,sha256=hRfW9IhpJnrDlBgC4cxtaMl41DTgbBAT8YrMFK5OAgY,248
25
+ pymodaq/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ pymodaq/examples/function_plotter.py,sha256=z9zjvs35nwuq_Ux-EeKv4mELfVCWr1QqQG8F_AFctlk,6109
27
+ pymodaq/examples/nonlinearscanner.py,sha256=x0R2_FP0YnuOCCAmYRiAiZ1jfUdRxu5RqIYLyGQMZ0U,3790
28
+ pymodaq/examples/qt_less_standalone_module.py,sha256=ybXwimRybtUPx-HjubqVDRb9twZGP8GdLf9P3jdhv_w,6431
29
+ pymodaq/examples/tcp_client.py,sha256=AGkLR307r11YmPej4e8WMXwAOuXpDcqeMCrWo1whiKw,2583
30
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.aliases,sha256=t0eKH9Uq_AMk4wQ-6Pm5mKUjGcCvfT9GtvMsvDhkCUk,47
31
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.lvlps,sha256=VZHH96rKSnRYKeCAXUmKI3vQOX8Wz53FYCF2yXuqnaU,84
32
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.lvproj,sha256=eYzmQO3XFxCJS-WMTjfyUBmmogxJUi7Nu5h64tKVlow,1984
33
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Client.vi,sha256=3O69SPlNetv7-VXpAeVDd1for0iQYPtexdd5Q_5a9To,69358
34
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Server_1Dgaussian.vi,sha256=VDrTmIZNkgQDIQ99WvhpDk29cziPLKejhOd3aIS4zEk,21969
35
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_Server_2Dgaussian.vi,sha256=Yk4wYsikAyg4zTKnQReIH_Kw5mca_JiRGV5hDNzE2I8,29785
36
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_cmd.vi,sha256=DwASW4Vj20j2y6WNEyDHd2e08WYMr3w8Gz6gGwyyqx8,18148
37
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_float.vi,sha256=LZRP9jUOkQ7TMqV7my4h_MwCJ_RF4vXKpjQE6DPVqS8,20622
38
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_read_int.vi,sha256=vmQHX8gBhLjVeCatUoM_o0Ai92oFOoybvdPENwKsu5M,11828
39
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_data.vi,sha256=fq53wXWWLaw6y02R1Wff0oUvKJvrPWIJKdSMmh7xG94,23025
40
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_int.vi,sha256=uxMD-Jn-xDmhQlaB6DgbhADzfpRCuJ6eG01Qy2f3ZzE,9072
41
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_scalar.vi,sha256=uYnMjYMQdfQqRugCtwgKM-IGpxw_M_vGM2oUBwj-UnM,19039
42
+ pymodaq/examples/Labview_TCP_Client/DAQ_TCP_send_string.vi,sha256=hdHU78daP5EOrX-co1TofhMLcKMQ9ODGXKcFx_IScGM,19791
43
+ pymodaq/examples/Labview_TCP_Client/client_state.ctl,sha256=IxYi5Og0QXFB1e0VeBL23sIOYOCImf7uMzitIuPlagw,4293
44
+ pymodaq/examples/Labview_TCP_Client/cmd_types.ctl,sha256=gwuDyGcte11Zqx0C-U8ljRyYCQleUPh18MYqg9GtxPg,4618
45
+ pymodaq/extensions/__init__.py,sha256=ueKD68xwci27eMFDS8MsNXLrr8MdTLfHBFbsCF8ylZs,614
46
+ pymodaq/extensions/console.py,sha256=kkuHHog_a2Y_5cYrAFTD7IGRQ4BA4NBQz4hrwFYanQY,2277
47
+ pymodaq/extensions/daq_scan.py,sha256=6IRV0mVIpdUL3qAYu-xunHaRbzE4pD1YWrvSVWoEgI4,50011
48
+ pymodaq/extensions/daq_scan_ui.py,sha256=kKcXu2tNo-VJR7GQPNEXxMKiKitA4F3a_tOSamalWh0,10052
49
+ pymodaq/extensions/h5browser.py,sha256=ORGs9OAy2Ju8sh8CoMMcWTkU842-qbVoAYVS0FTmfVM,261
50
+ pymodaq/extensions/utils.py,sha256=pe4071AKPaIAZpI-G-4aijHC8d54eKdxxt3xZ_cgUu8,3799
51
+ pymodaq/extensions/adaptive/__init__.py,sha256=F5ICFuIqsEYElJnxWVQWDHrmf_c63ozP7FkqBvWEBWA,55
52
+ pymodaq/extensions/adaptive/adaptive_optimization.py,sha256=8ng8KF6LbV5QwMAbS0NVhkQQtky0RI-NHT2_sxIEtkk,7541
53
+ pymodaq/extensions/adaptive/utils.py,sha256=udYRImvoSX0tMmMiKvKhshcptvl5HsvFi_h9FExpqBQ,4339
54
+ pymodaq/extensions/adaptive/loss_function/_1d_loss_functions.py,sha256=pyF5PfgIre7Fb4cYn_xAUn3PFILHnLIu-fDsn7JS94E,2211
55
+ pymodaq/extensions/adaptive/loss_function/_2d_loss_functions.py,sha256=ucBK_f2RF33Hys43f8dybStEbRhv0VJ1XZ-oKbBgExs,2274
56
+ pymodaq/extensions/adaptive/loss_function/__init__.py,sha256=2AABp8AsD4gZgC7Uc0WPmMlC6k2ODxT1Mw7RGRsUOK0,174
57
+ pymodaq/extensions/adaptive/loss_function/loss_factory.py,sha256=1dQLK_u9SPq-WG258RxCDhBVhjzn72OA61ErUZyTp6s,3568
58
+ pymodaq/extensions/bayesian/__init__.py,sha256=tXqDKqmxFd2rs9CNuWt4xl4xCb-gqMDeNnqkvJf6zuo,55
59
+ pymodaq/extensions/bayesian/bayesian_optimization.py,sha256=0nc2IHXQdKWwvpmMW0Pa0DMLyhmiC1qkQhStHrBtyQ4,5334
60
+ pymodaq/extensions/bayesian/utils.py,sha256=3akQeJJSHjFuugwT-Gyshatq2yr_CNHuC9Lw2JrFMHs,6628
61
+ pymodaq/extensions/bayesian/acquisition/__init__.py,sha256=7L8o3cd1o5WiRKi73tSIGaHYPxsS8s51OgrsPgFKWVY,235
62
+ pymodaq/extensions/bayesian/acquisition/acquisition_function_factory.py,sha256=EqeaFjfApt_1mS1D137CXbB4_XofA3wgfEQCDAL4XCM,2368
63
+ pymodaq/extensions/bayesian/acquisition/base_acquisition_function.py,sha256=cD_GGOE2dKnJvBw6zSoZylZw10Me6DoqWnRXrOQ3f7Y,4872
64
+ pymodaq/extensions/daq_logger/__init__.py,sha256=u-W6S5KmVKjOuRLbpnM0bqn9vCiJjW97RpW7iaKssKM,28
65
+ pymodaq/extensions/daq_logger/abstract.py,sha256=I-t-2nSIVHHUfHJ-3IoqsuULZiIsXRe4saotaEL3-Fk,1095
66
+ pymodaq/extensions/daq_logger/daq_logger.py,sha256=AgLbyiZCFofUxsHe_SPRmGrSBEYc9JMXav-8MwBaX04,18284
67
+ pymodaq/extensions/daq_logger/h5logging.py,sha256=qWxt6SOf9jlB6hgj4gNUjpkXwsdkyj5zmhbkNUxRMjs,2427
68
+ pymodaq/extensions/daq_logger/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
+ pymodaq/extensions/daq_logger/db/db_logger.py,sha256=E607KSCloojpAa9QObhaLAe1tKfh0qEkDLrafElM8rc,10460
70
+ pymodaq/extensions/daq_logger/db/db_logger_models.py,sha256=r9672aG8vUPqtHq6gFSuIFP-7hf8HhJavsRZrYo20Ns,3461
71
+ pymodaq/extensions/data_mixer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ pymodaq/extensions/data_mixer/daq_0Dviewer_DataMixer.py,sha256=edtra05fF3l2s2PpQ8HTvNZF1geMeV_vMZOqTZwIqxo,3091
73
+ pymodaq/extensions/data_mixer/data_mixer.py,sha256=aSTyrVceK0NMZZAOdBegKo2D_Er6IC7LwH_DYdrnrs4,10164
74
+ pymodaq/extensions/data_mixer/model.py,sha256=7TA6IS_36YDVYxS9wpwJfI2-L9P5SUzW5GjmijftTE4,3565
75
+ pymodaq/extensions/data_mixer/parser.py,sha256=RwGFvXI5aJD9cFpWPjY85zlOce00fJwjhq73W04dlak,1439
76
+ pymodaq/extensions/data_mixer/utils.py,sha256=f-mnR-mNYtoU9Z1WSETSoSHEW1diteWhvgWhxsvDri8,635
77
+ pymodaq/extensions/data_mixer/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ pymodaq/extensions/data_mixer/models/equation_model.py,sha256=85XBIRZsuYS82c4hNnFFzfV83Kt4J8V7QL_ortk_cYA,3767
79
+ pymodaq/extensions/data_mixer/models/gaussian_fit_model.py,sha256=ZsjOUCA2n6vVbj3YWb5u9UoAd8DDRFnF44at6Mh_0Go,2254
80
+ pymodaq/extensions/optimizers_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ pymodaq/extensions/optimizers_base/optimizer.py,sha256=3UCQGzt0Sn5eYQQCrO3pwZYFkoFs6LL-GOxD63G47hs,44794
82
+ pymodaq/extensions/optimizers_base/thread_commands.py,sha256=fwZ2SGAMCLXtDdhjMBkN2989T_mirJwBWT2tRxpwz9o,440
83
+ pymodaq/extensions/optimizers_base/utils.py,sha256=7QFKZrR0XsHNabza0BxzoyKasTJPoutIx-rchrbvdM0,16102
84
+ pymodaq/extensions/pid/__init__.py,sha256=tHegjXR1MZ3XHdFTpzYasFIzMxjkNUL-986DKLagAXs,517
85
+ pymodaq/extensions/pid/actuator_controller.py,sha256=_sRQUa6DoxOBCm0EuiuT4xe5ovMVqStHJNR3vJLfces,477
86
+ pymodaq/extensions/pid/daq_move_PID.py,sha256=xzwMtQec_2IFfMrF_Tnabr9yhxZ6emqpQj89K9zDQqE,5294
87
+ pymodaq/extensions/pid/pid_controller.py,sha256=cEGG1foYRytAriWUC9cr34JRRbyr1c2rsFcCdzmAuNA,39017
88
+ pymodaq/extensions/pid/utils.py,sha256=hWJ186DYg__6VgD4igvxdJZU23zTbG-qdIZx0U-8lIQ,7312
89
+ pymodaq/post_treatment/__init__.py,sha256=xaaLFZJ7OLqI_7yPurFk89A7m2ywSbYDXAsdE-QQ8Zg,81
90
+ pymodaq/post_treatment/load_and_plot.py,sha256=fmaBfdlM6WiFSAPuJxuN5W03JLr9MTn0DJMUsPfmkyg,13920
91
+ pymodaq/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
+ pymodaq/resources/config_template.toml,sha256=8cHyDaNOPlVkv2Myv-BYeltCFhkA14NhhPQmlSH2tGQ,1531
93
+ pymodaq/resources/preset_default.xml,sha256=R3P_ie_m2_Tm6WRFtkTiD2mqgQH6E5q_wXKcPswJKUY,26388
94
+ pymodaq/resources/setup_plugin.py,sha256=jvMuSp4UxGaPUe9uPUvHg9DrdwyFakG6_sFy_zXb1f8,3182
95
+ pymodaq/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
+ pymodaq/utils/array_manipulation.py,sha256=lU-MwuAIv0ZFc0_E11w0TSX5AfGarJOG58yIZZk36GY,272
97
+ pymodaq/utils/calibration_camera.py,sha256=WTRXFbacR5tL01rFH1JZ5ejEXGcxOVUM8kRA5GPyCc8,8869
98
+ pymodaq/utils/chrono_timer.py,sha256=uBVtV3AW-m-fnHlMYgm1qYiuBpREdL1A93yJG78VAiM,7086
99
+ pymodaq/utils/config.py,sha256=lR1sB60uGgCRTCPLCNDMhSJKe1T3MTgYahtRfLuI3D8,1507
100
+ pymodaq/utils/conftests.py,sha256=3Ak8WEpa3EhAp73Yb1LLq8YFONhPqiL7gG9eSDIoTNc,58
101
+ pymodaq/utils/daq_utils.py,sha256=eIjCqZmLa3-wUwTZSPQtVb8Udvl2nqI6s_wKVFFFFu8,6680
102
+ pymodaq/utils/data.py,sha256=Or2MdZjKAo18W025Pd1hqjUCZ9FeqPWurcBjY0Nllks,4429
103
+ pymodaq/utils/enums.py,sha256=9PzGPsPN_6Wl9Pm0uV66-KByPsfpV2Coi5193kNVmII,233
104
+ pymodaq/utils/exceptions.py,sha256=xWORkqBplDEKI3t5N4LEYPlowlxIs9E007AtYe4E8Y4,627
105
+ pymodaq/utils/logger.py,sha256=6x5BPpWXw1zW2M7F4lRGIOP2TtnqJHz2m7XSqI8g0u0,293
106
+ pymodaq/utils/math_utils.py,sha256=uBnk15-O2ucoF0dH-f41HqQYWIFsqNdkCb7AngwN8BI,248
107
+ pymodaq/utils/messenger.py,sha256=T-RjQtx6Hz4F96TvOL61jomKjfqmNa_FdnGvvpQFfe0,246
108
+ pymodaq/utils/gui_utils/__init__.py,sha256=MUGjejjsXUzTtDTqDzaQTL9W8Sc850ZZxYBlJn6xlxg,539
109
+ pymodaq/utils/gui_utils/loader_utils.py,sha256=RHJp71ZgnNmvyBPFDoxPq9dkIDJ8ami0um7-ir0YsIA,2432
110
+ pymodaq/utils/gui_utils/utils.py,sha256=0FbuHR-3glsZZO_Lye-h470y9TNuFMcVMJkMF_euzoQ,494
111
+ pymodaq/utils/gui_utils/widgets/lcd.py,sha256=x7uUPO_JSJX6ZkIa3xvdVFC898G2e3wvPUsATOs3iik,306
112
+ pymodaq/utils/h5modules/__init__.py,sha256=daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes_sHA,2
113
+ pymodaq/utils/h5modules/module_saving.py,sha256=nqVgKQaw4oVzWE7I7nbkmKPzxM21-Syxuox3zOUbJeg,18353
114
+ pymodaq/utils/leco/__init__.py,sha256=PVxGVZx5uHCsZmFWrVTkVX1lE5C2V95bKBj0vK9KZQU,878
115
+ pymodaq/utils/leco/daq_move_LECODirector.py,sha256=9450_9tWQgaTXkNxXZEr4durQwklESUpUk7NRlWR5JA,8682
116
+ pymodaq/utils/leco/daq_xDviewer_LECODirector.py,sha256=w0f0C-DirhuERTzgtNenthjrRTBUOGF3rzqqD7FaHzk,5782
117
+ pymodaq/utils/leco/director_utils.py,sha256=0HA-tZ6pOGMSD1GUzozidWWTvANE1HEj_NyXhEd92rw,2549
118
+ pymodaq/utils/leco/leco_director.py,sha256=mfITlZAWQYevrIyzzsihVZuZimw-yjXxvS4u_hMde5k,6543
119
+ pymodaq/utils/leco/pymodaq_listener.py,sha256=dquY631HDrLifQXg7W2pZyxfygII-7eOvLvOiST7yA4,13960
120
+ pymodaq/utils/leco/rpc_method_definitions.py,sha256=6BZqQIRiaxBbUkzJm3eKM4diRXl6GO6UyB9rSF4A7D4,981
121
+ pymodaq/utils/leco/utils.py,sha256=n0QuYNVRh_Pmw--yD4l1tSvWbQkdkh3vJnTpMpPJVsI,2654
122
+ pymodaq/utils/managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
+ pymodaq/utils/managers/batchscan_manager.py,sha256=N39_9_aEBPv5GhKKbdfzX-kGRwB7yKusEFDYqGdQR9w,13774
124
+ pymodaq/utils/managers/modules_manager.py,sha256=Yx0WsCJMjyUw5qHR0OoBVAysp2x6CexNSjdTXGaVJkU,23057
125
+ pymodaq/utils/managers/overshoot_manager.py,sha256=1eX4yY1bJHKhX-TyeH-d-X0COyQN-5Rsn5niOp35PBM,9151
126
+ pymodaq/utils/managers/preset_manager.py,sha256=34OuyHeUbwhnxMdjpS5LEBUyPOPMukKqhEtZcVAfIfk,8719
127
+ pymodaq/utils/managers/preset_manager_utils.py,sha256=z8FTYK9odjIxAY6ozjm5ItHN3b74N3HWVP2ALmViUns,10171
128
+ pymodaq/utils/managers/remote_manager.py,sha256=T-zw1wK2jWohzjxCf6nDXw5e4RsUFIeRXqfH3tL3pwM,22316
129
+ pymodaq/utils/parameter/__init__.py,sha256=I5oOJu5nJbcn5sa7TdUP0QVNNZKBrKReeMHJG02OmZc,395
130
+ pymodaq/utils/parameter/utils.py,sha256=atxN31PFrLDPjpX0ITEL_ugBvreOVI-RfjbOU_YCMhw,247
131
+ pymodaq/utils/scanner/__init__.py,sha256=LqY1QwGnJEgr8CcW8uLWzbWy55Nvkmjmww4nl7xMpYU,171
132
+ pymodaq/utils/scanner/scan_config.py,sha256=GJeH8oeZ_zMtujwkLM1jpKDQFLFKIN1wlkxXbOv6nWM,325
133
+ pymodaq/utils/scanner/scan_factory.py,sha256=CByBi5_kNf06byQheazUOIAO84qQz_TRrmUEKBk7fD0,9061
134
+ pymodaq/utils/scanner/scan_selector.py,sha256=5GDqZ4F4loqnLgg1wC5mPb7kkbXPggOKPoKvmJ0f2y8,16190
135
+ pymodaq/utils/scanner/scanner.py,sha256=95e2lgisuGfr6HCpuJdlCoUe1S5TRnOjPYYEtD4xWoE,12335
136
+ pymodaq/utils/scanner/utils.py,sha256=YjjrWWKs9q_OgP5xK277IyEsMqp15qFxU19kQ8f5R-c,3680
137
+ pymodaq/utils/scanner/scanners/_1d_scanners.py,sha256=fhCsOpAtA8Zida2FcZvv8EpFK1x0OvoMTAiSXsBj2bw,6886
138
+ pymodaq/utils/scanner/scanners/_2d_scanners.py,sha256=tGR8QNBhXXYelFiORwN9I27CDz5DkyxTa5WfAVTDRLk,12221
139
+ pymodaq/utils/scanner/scanners/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
140
+ pymodaq/utils/scanner/scanners/sequential.py,sha256=RN6h1pdqgIsRMt-n78eImyygV-Vy7aDM4qhi5KtOQ3E,9221
141
+ pymodaq/utils/scanner/scanners/tabular.py,sha256=09c1m0_nk2DxCC8AY50EAv-Gc5pLOi5GRLgPTACTei0,13983
142
+ pymodaq/utils/svg/__init__.py,sha256=QWpeotkNhAQkoVTdWBH8t6MRr9-lrPJx4bXn7J6fCNA,81
143
+ pymodaq/utils/svg/svg_renderer.py,sha256=USEcrOWmQAq8UM620e_XIGPI6z9IQmhyJuqbPo3jLzE,406
144
+ pymodaq/utils/svg/svg_view.py,sha256=bmXpDqnw9S-Bp3F8Hi_oeYB5Y9gebiCNsQWVJzCq-PA,901
145
+ pymodaq/utils/svg/svg_viewer2D.py,sha256=HbJKT90bu1fTY1m018NBtXCZGBXnGNAFemBDrMxc0PY,1427
146
+ pymodaq/utils/tcp_ip/__init__.py,sha256=1e_EK0AgvdoLAD_CSGGEaITZdy6OWCO7ih9IAIp7HT4,81
147
+ pymodaq/utils/tcp_ip/mysocket.py,sha256=03FaQskso8nLLAsN-ijX-RazXbeMezRnAPvsRxTQa4k,326
148
+ pymodaq/utils/tcp_ip/serializer.py,sha256=Bp6ZpGqMdZlX4CnT371d7ZYqIp7UygsRsE9XFkWZrto,400
149
+ pymodaq/utils/tcp_ip/tcp_server_client.py,sha256=eL-Q1HnnaAG8wfTUb9unEIiNFApMXzfzfveUWoC0_mg,30657
150
+ pymodaq-5.1.6.dist-info/METADATA,sha256=VjgSl_QMandiVDxbAkz9zZYJHrA41k4b2LRnLCvwiQk,13155
151
+ pymodaq-5.1.6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
152
+ pymodaq-5.1.6.dist-info/entry_points.txt,sha256=fklDvGhc2k7ZCBhFXTFADdH3FQ0mFOlrQ-xUvJwgllE,286
153
+ pymodaq-5.1.6.dist-info/licenses/LICENSE,sha256=VKOejxexXAe3XwfhAhcFGqeXQ12irxVHdeAojZwFEI8,1108
154
+ pymodaq-5.1.6.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,7 @@
1
+ [console_scripts]
2
+ daq_logger = pymodaq.extensions.daq_logger:main
3
+ daq_move = pymodaq.control_modules.daq_move:main
4
+ daq_scan = pymodaq.extensions.daq_scan:main
5
+ daq_viewer = pymodaq.control_modules.daq_viewer:main
6
+ dashboard = pymodaq.dashboard:main
7
+ pymodaq_updater = pymodaq.updater:main
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2021 Sebastien Weber <sebastien.weber@cemes.fr>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.