zaber-motion 7.10.0__py3-none-win_arm64.whl → 7.12.0__py3-none-win_arm64.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 (61) hide show
  1. zaber_motion/__init__.py +2 -0
  2. zaber_motion/ascii/all_axes.py +1 -1
  3. zaber_motion/ascii/axis.py +5 -5
  4. zaber_motion/ascii/axis_group.py +1 -1
  5. zaber_motion/ascii/axis_settings.py +5 -5
  6. zaber_motion/ascii/connection.py +1 -1
  7. zaber_motion/ascii/device.py +11 -11
  8. zaber_motion/ascii/device_io.py +1 -1
  9. zaber_motion/ascii/device_settings.py +1 -1
  10. zaber_motion/ascii/lockstep.py +2 -2
  11. zaber_motion/ascii/oscilloscope.py +1 -1
  12. zaber_motion/ascii/oscilloscope_data.py +1 -1
  13. zaber_motion/ascii/pvt.py +1 -1
  14. zaber_motion/ascii/pvt_buffer.py +43 -2
  15. zaber_motion/ascii/pvt_io.py +2 -2
  16. zaber_motion/ascii/pvt_sequence.py +153 -5
  17. zaber_motion/ascii/servo_tuner.py +1 -1
  18. zaber_motion/ascii/storage.py +2 -2
  19. zaber_motion/ascii/stream.py +3 -3
  20. zaber_motion/ascii/stream_buffer.py +2 -2
  21. zaber_motion/ascii/stream_io.py +2 -2
  22. zaber_motion/ascii/streams.py +1 -1
  23. zaber_motion/ascii/transport.py +1 -1
  24. zaber_motion/ascii/trigger.py +2 -2
  25. zaber_motion/ascii/triggers.py +1 -1
  26. zaber_motion/ascii/warnings.py +2 -2
  27. zaber_motion/binary/connection.py +1 -1
  28. zaber_motion/binary/device.py +3 -3
  29. zaber_motion/binary/device_settings.py +1 -1
  30. zaber_motion/dto/__init__.py +1 -0
  31. zaber_motion/dto/device_db_source.py +66 -0
  32. zaber_motion/dto/exceptions/__init__.py +1 -0
  33. zaber_motion/dto/exceptions/device_db_failed_exception_data.py +24 -1
  34. zaber_motion/dto/exceptions/device_db_inner_error.py +85 -0
  35. zaber_motion/dto/requests/__init__.py +4 -0
  36. zaber_motion/dto/requests/pvt_buffer_get_sequence_data_request.py +79 -0
  37. zaber_motion/dto/requests/pvt_generate_velocities_and_times_request.py +96 -0
  38. zaber_motion/dto/requests/pvt_submit_sequence_data_request.py +93 -0
  39. zaber_motion/dto/requests/set_device_db_layered_sources_request.py +56 -0
  40. zaber_motion/dto/requests/set_device_db_source_request.py +6 -0
  41. zaber_motion/exceptions/__init__.py +1 -0
  42. zaber_motion/gcode/offline_translator.py +1 -1
  43. zaber_motion/gcode/translator.py +1 -1
  44. zaber_motion/library.py +18 -1
  45. zaber_motion/microscopy/autofocus.py +3 -3
  46. zaber_motion/microscopy/camera_trigger.py +2 -2
  47. zaber_motion/microscopy/filter_changer.py +1 -1
  48. zaber_motion/microscopy/illuminator.py +2 -2
  49. zaber_motion/microscopy/illuminator_channel.py +6 -6
  50. zaber_motion/microscopy/microscope.py +74 -24
  51. zaber_motion/microscopy/objective_changer.py +2 -2
  52. zaber_motion/microscopy/wdi_autofocus_provider.py +1 -1
  53. zaber_motion/product/process.py +6 -6
  54. zaber_motion/product/process_controller.py +1 -1
  55. zaber_motion/version.py +1 -1
  56. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/METADATA +1 -1
  57. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/RECORD +61 -55
  58. zaber_motion_bindings/zaber-motion-core-windows-arm64.dll +0 -0
  59. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/WHEEL +0 -0
  60. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/licenses/LICENSE.txt +0 -0
  61. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/top_level.txt +0 -0
@@ -42,9 +42,9 @@ class Autofocus:
42
42
  """
43
43
  Creates instance of `Autofocus` based on the given provider id.
44
44
  """
45
- self._provider_id = provider_id
46
- self._focus_axis = focus_axis
47
- self._objective_turret = objective_turret
45
+ self._provider_id: int = provider_id
46
+ self._focus_axis: Axis = focus_axis
47
+ self._objective_turret: Optional[Device] = objective_turret
48
48
 
49
49
  def set_focus_zero(
50
50
  self
@@ -31,8 +31,8 @@ class CameraTrigger:
31
31
  """
32
32
  Creates instance of `CameraTrigger` based on the given device and digital output channel.
33
33
  """
34
- self._device = device
35
- self._channel = channel
34
+ self._device: Device = device
35
+ self._channel: int = channel
36
36
 
37
37
  def trigger(
38
38
  self,
@@ -23,7 +23,7 @@ class FilterChanger:
23
23
  """
24
24
  Creates instance of `FilterChanger` based on the given device.
25
25
  """
26
- self._device = device
26
+ self._device: Device = device
27
27
 
28
28
  def get_number_of_filters(
29
29
  self
@@ -32,8 +32,8 @@ class Illuminator:
32
32
  Creates instance of `Illuminator` based on the given device.
33
33
  If the device is identified, this constructor will ensure it is an illuminator.
34
34
  """
35
- self._device = device
36
- self._io = DeviceIO(device)
35
+ self._device: Device = device
36
+ self._io: DeviceIO = DeviceIO(device)
37
37
  self.__verify_is_illuminator()
38
38
 
39
39
  def get_channel(
@@ -55,12 +55,12 @@ class IlluminatorChannel:
55
55
  return self._warnings
56
56
 
57
57
  def __init__(self, illuminator: 'Illuminator', channel_number: int):
58
- self._illuminator = illuminator
59
- self._channel_number = channel_number
60
- self._axis = Axis(illuminator.device, channel_number)
61
- self._settings = AxisSettings(self._axis)
62
- self._storage = AxisStorage(self._axis)
63
- self._warnings = Warnings(illuminator.device, channel_number)
58
+ self._illuminator: 'Illuminator' = illuminator
59
+ self._channel_number: int = channel_number
60
+ self._axis: Axis = Axis(illuminator.device, channel_number)
61
+ self._settings: AxisSettings = AxisSettings(self._axis)
62
+ self._storage: AxisStorage = AxisStorage(self._axis)
63
+ self._warnings: Warnings = Warnings(illuminator.device, channel_number)
64
64
 
65
65
  def on(
66
66
  self
@@ -28,6 +28,8 @@ class Microscope:
28
28
  """
29
29
  return self._connection
30
30
 
31
+ _illuminator: Optional[Illuminator]
32
+
31
33
  @property
32
34
  def illuminator(self) -> Optional[Illuminator]:
33
35
  """
@@ -35,6 +37,8 @@ class Microscope:
35
37
  """
36
38
  return self._illuminator
37
39
 
40
+ _focus_axis: Optional[Axis]
41
+
38
42
  @property
39
43
  def focus_axis(self) -> Optional[Axis]:
40
44
  """
@@ -42,6 +46,8 @@ class Microscope:
42
46
  """
43
47
  return self._focus_axis
44
48
 
49
+ _x_axis: Optional[Axis]
50
+
45
51
  @property
46
52
  def x_axis(self) -> Optional[Axis]:
47
53
  """
@@ -49,6 +55,8 @@ class Microscope:
49
55
  """
50
56
  return self._x_axis
51
57
 
58
+ _y_axis: Optional[Axis]
59
+
52
60
  @property
53
61
  def y_axis(self) -> Optional[Axis]:
54
62
  """
@@ -56,6 +64,8 @@ class Microscope:
56
64
  """
57
65
  return self._y_axis
58
66
 
67
+ _plate: Optional[AxisGroup]
68
+
59
69
  @property
60
70
  def plate(self) -> Optional[AxisGroup]:
61
71
  """
@@ -63,6 +73,8 @@ class Microscope:
63
73
  """
64
74
  return self._plate
65
75
 
76
+ _objective_changer: Optional[ObjectiveChanger]
77
+
66
78
  @property
67
79
  def objective_changer(self) -> Optional[ObjectiveChanger]:
68
80
  """
@@ -70,6 +82,8 @@ class Microscope:
70
82
  """
71
83
  return self._objective_changer
72
84
 
85
+ _filter_changer: Optional[FilterChanger]
86
+
73
87
  @property
74
88
  def filter_changer(self) -> Optional[FilterChanger]:
75
89
  """
@@ -77,6 +91,8 @@ class Microscope:
77
91
  """
78
92
  return self._filter_changer
79
93
 
94
+ _autofocus: Optional[Autofocus]
95
+
80
96
  @property
81
97
  def autofocus(self) -> Optional[Autofocus]:
82
98
  """
@@ -84,6 +100,8 @@ class Microscope:
84
100
  """
85
101
  return self._autofocus
86
102
 
103
+ _camera_trigger: Optional[CameraTrigger]
104
+
87
105
  @property
88
106
  def camera_trigger(self) -> Optional[CameraTrigger]:
89
107
  """
@@ -96,30 +114,9 @@ class Microscope:
96
114
  Creates instance of `Microscope` from the given config.
97
115
  Parts are instantiated depending on device addresses in the config.
98
116
  """
99
- self._connection = connection
100
- self._config = MicroscopeConfig.from_binary(MicroscopeConfig.to_binary(config))
101
- self._illuminator = Illuminator(Device(connection, config.illuminator)) if config.illuminator else None
102
- self._focus_axis = Axis(Device(connection, config.focus_axis.device), config.focus_axis.axis)\
103
- if config.focus_axis and config.focus_axis.device else None
104
- self._x_axis = Axis(Device(connection, config.x_axis.device), config.x_axis.axis)\
105
- if config.x_axis and config.x_axis.device else None
106
- self._y_axis = Axis(Device(connection, config.y_axis.device), config.y_axis.axis)\
107
- if config.y_axis and config.y_axis.device else None
108
- self._plate = AxisGroup([self._x_axis, self._y_axis])\
109
- if self._x_axis is not None and self._y_axis is not None else None
110
- self._objective_changer = ObjectiveChanger(Device(connection, config.objective_changer), self._focus_axis)\
111
- if config.objective_changer and self._focus_axis else None
112
- self._filter_changer = FilterChanger(Device(connection, config.filter_changer))\
113
- if config.filter_changer else None
114
- self._autofocus = Autofocus(
115
- config.autofocus,
116
- self._focus_axis,
117
- self._objective_changer.turret if self._objective_changer else None)\
118
- if config.autofocus and self._focus_axis else None
119
- self._camera_trigger = CameraTrigger(
120
- Device(connection, config.camera_trigger.device),
121
- config.camera_trigger.channel)\
122
- if config.camera_trigger and config.camera_trigger.device else None
117
+ self._connection: Connection = connection
118
+ self._config: MicroscopeConfig = MicroscopeConfig.from_binary(MicroscopeConfig.to_binary(config))
119
+ self._initialize_components()
123
120
 
124
121
  @staticmethod
125
122
  def find(
@@ -263,3 +260,56 @@ class Microscope:
263
260
  request,
264
261
  dto.StringResponse.from_binary)
265
262
  return response.value
263
+
264
+ def _initialize_components(self) -> None:
265
+ """
266
+ Initializes the components of the microscope based on the configuration.
267
+ """
268
+ if self._config.illuminator:
269
+ self._illuminator = Illuminator(Device(self._connection, self._config.illuminator))
270
+ else:
271
+ self._illuminator = None
272
+
273
+ if self._config.focus_axis and self._config.focus_axis.device:
274
+ self._focus_axis = Axis(
275
+ Device(self._connection, self._config.focus_axis.device), self._config.focus_axis.axis)
276
+ else:
277
+ self._focus_axis = None
278
+
279
+ if self._config.x_axis and self._config.x_axis.device:
280
+ self._x_axis = Axis(Device(self._connection, self._config.x_axis.device), self._config.x_axis.axis)
281
+ else:
282
+ self._x_axis = None
283
+
284
+ if self._config.y_axis and self._config.y_axis.device:
285
+ self._y_axis = Axis(Device(self._connection, self._config.y_axis.device), self._config.y_axis.axis)
286
+ else:
287
+ self._y_axis = None
288
+
289
+ if self._x_axis is not None and self._y_axis is not None:
290
+ self._plate = AxisGroup([self._x_axis, self._y_axis])
291
+ else:
292
+ self._plate = None
293
+
294
+ if self._config.objective_changer and self._focus_axis:
295
+ self._objective_changer = ObjectiveChanger(
296
+ Device(self._connection, self._config.objective_changer), self._focus_axis)
297
+ else:
298
+ self._objective_changer = None
299
+
300
+ if self._config.filter_changer:
301
+ self._filter_changer = FilterChanger(Device(self._connection, self._config.filter_changer))
302
+ else:
303
+ self._filter_changer = None
304
+
305
+ if self._config.autofocus and self._focus_axis:
306
+ turret = self._objective_changer.turret if self._objective_changer else None
307
+ self._autofocus = Autofocus(self._config.autofocus, self._focus_axis, turret)
308
+ else:
309
+ self._autofocus = None
310
+
311
+ if self._config.camera_trigger and self._config.camera_trigger.device:
312
+ trigger_device = Device(self._connection, self._config.camera_trigger.device)
313
+ self._camera_trigger = CameraTrigger(trigger_device, self._config.camera_trigger.channel)
314
+ else:
315
+ self._camera_trigger = None
@@ -35,8 +35,8 @@ class ObjectiveChanger:
35
35
  Creates instance of `ObjectiveChanger` based on the given device.
36
36
  If the device is identified, this constructor will ensure it is an objective changer.
37
37
  """
38
- self._turret = turret
39
- self._focus_axis = focus_axis
38
+ self._turret: Device = turret
39
+ self._focus_axis: Axis = focus_axis
40
40
  self.__verify_is_changer()
41
41
 
42
42
  @staticmethod
@@ -29,7 +29,7 @@ class WdiAutofocusProvider:
29
29
  return self._provider_id
30
30
 
31
31
  def __init__(self, provider_id: int):
32
- self._provider_id = provider_id
32
+ self._provider_id: int = provider_id
33
33
 
34
34
  @staticmethod
35
35
  def open_tcp(
@@ -63,12 +63,12 @@ class Process:
63
63
  return self._warnings
64
64
 
65
65
  def __init__(self, controller: 'ProcessController', process_number: int):
66
- self._controller = controller
67
- self._process_number = process_number
68
- self._axis = Axis(controller.device, process_number)
69
- self._settings = AxisSettings(self._axis)
70
- self._storage = AxisStorage(self._axis)
71
- self._warnings = Warnings(controller.device, process_number)
66
+ self._controller: 'ProcessController' = controller
67
+ self._process_number: int = process_number
68
+ self._axis: Axis = Axis(controller.device, process_number)
69
+ self._settings: AxisSettings = AxisSettings(self._axis)
70
+ self._storage: AxisStorage = AxisStorage(self._axis)
71
+ self._warnings: Warnings = Warnings(controller.device, process_number)
72
72
 
73
73
  def enable(
74
74
  self,
@@ -28,7 +28,7 @@ class ProcessController:
28
28
  Creates instance of `ProcessController` of the given device.
29
29
  If the device is identified, this constructor will ensure it is a process controller.
30
30
  """
31
- self._device = device
31
+ self._device: Device = device
32
32
  self.__verify_is_process_controller()
33
33
 
34
34
  @staticmethod
zaber_motion/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "7.10.0"
1
+ __version__ = "7.12.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zaber_motion
3
- Version: 7.10.0
3
+ Version: 7.12.0
4
4
  Summary: An official library for communicating with Zaber devices.
5
5
  Author-email: "Zaber Technologies Inc." <contact@zaber.com>
6
6
  License: The MIT License (MIT)
@@ -2,55 +2,56 @@ zaber_bson/LICENSE,sha256=n7FWR6VC5ystss8E5JhpgVzVj7ox2YQ3_HEzL7rDzAs,1548
2
2
  zaber_bson/__init__.py,sha256=I41i_Ou7_fHdZS_8Pe-gXvcvvvej3MTOsdEwkJT4H4E,1631
3
3
  zaber_bson/codec.py,sha256=fqZxP1m51dwdVXp2fioJpS2tHOjJQCbOI_pxugyvQnQ,14591
4
4
  zaber_bson/types.py,sha256=TDzH-OVS2SsiiivLLu1K-M-vv4Kk69GpS0cnxi7rxVk,1236
5
- zaber_motion/__init__.py,sha256=VEX7ymdqzAsR-szfAdSmyDU3ewJB9n0LPzpUKn1WPyg,10297
5
+ zaber_motion/__init__.py,sha256=pOpqW-fDsiMDdyAkO3wKtj7Jh60J1ZrnQzpbKHTNAbA,10457
6
6
  zaber_motion/async_utils.py,sha256=fCxmBdoPw-ypHSVYIgTjSuYpL__Sx1P17zT7PFjrMWE,1551
7
7
  zaber_motion/bindings.py,sha256=slVcaFkqh7nv2QpaNWfTqddsgZHZ9eABNJdq56zsqf4,1555
8
8
  zaber_motion/call.py,sha256=X8iXJdlO1AvnMeDFmKXEPY8UFQWn8EXZmoXzcWO_ihc,5404
9
9
  zaber_motion/convert_exception.py,sha256=0ANPUmugxDvCGMURPN8Lqyi-3cU80L323xrsF19wbIk,8625
10
10
  zaber_motion/dto_object.py,sha256=TrwKMn_dbeh4DnCToS507G5eRJiW0_ZcGj9Q5RaSjqY,377
11
11
  zaber_motion/events.py,sha256=8UB_4SZz3HDb8VqborlHQGt7w0Nd11rEYblbVQxyckE,3510
12
- zaber_motion/library.py,sha256=8ksFvPeZ-Ie8eWMOc3DOCXfMmjiWwmRRsaIHXpAnN8A,5097
12
+ zaber_motion/library.py,sha256=n52ZF5eqVyZhmEhOT9FtQs9bspq1NhJ6zXRnW87zvuU,5676
13
13
  zaber_motion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  zaber_motion/serialization.py,sha256=0yLY0dA7XRjMAlI-wr92arZ6yRO97CyC_Rzc9BBHJRk,1019
15
15
  zaber_motion/tools.py,sha256=ZI8xYDa6SFlMghP2qklV73Z0TJcezC6trdAAXVI6PoM,2291
16
16
  zaber_motion/unit_table.py,sha256=DtphJjbzD1LSHpd4-idwIE2Dif89L7RrmeQI3LkOp40,2583
17
17
  zaber_motion/units.py,sha256=h1sEuCQR0q8SeCdWd2V8X62VZJBxMda9Kef724f6yc0,11059
18
- zaber_motion/version.py,sha256=S0DPRqTGKADY8WuRS2n7_175u2iZSeVNv5umMhe_EAY,24
18
+ zaber_motion/version.py,sha256=jsr3qlCs2gAQMzbbiLbkdZkfjd31L0EnhkU_La2b81A,24
19
19
  zaber_motion/ascii/__init__.py,sha256=9RFjxHOckdwD6DlAvmVfpWhR1U9-lWyU1t3EE0C2Glc,4921
20
- zaber_motion/ascii/all_axes.py,sha256=KEynCocZ6wPUur7xgA7KUyyLWgsCqrsx7zDoMfVYeRM,11135
21
- zaber_motion/ascii/axis.py,sha256=O5nZ0xIG_vRYMLZcEB_yV7UWi0XHtn4NmfBlh0QFtkQ,59284
22
- zaber_motion/ascii/axis_group.py,sha256=kdivqIJr5wx7_Puom7xYeGIXdKfcSoCXZpRgj1l6rCM,13318
23
- zaber_motion/ascii/axis_settings.py,sha256=NFuINbA0wJ5duls9lrWb1u8i_vTBLQO7OcfktGPNSn8,24225
24
- zaber_motion/ascii/connection.py,sha256=21tr8ITin3R8_N5Dp2cW6UUdRciaRmYD716n0BzbhT4,39666
25
- zaber_motion/ascii/device.py,sha256=6gbYty4uYXw2lPXbERXTi3mIxIf3SMXWOzEBE8fJswY,30531
26
- zaber_motion/ascii/device_io.py,sha256=RSbxHGL3u-hoJVb6cSmFCA_Qw_hSlWEHMluTDvgXFpg,40548
27
- zaber_motion/ascii/device_settings.py,sha256=ToAclvhdR7Wx9lb_mDdQfTX68NURbtUR0fUr35vyjnA,22747
28
- zaber_motion/ascii/lockstep.py,sha256=otzHYL5hNfYOD_Psz234MSALiA0qACapm1YE3eQMyeI,44631
29
- zaber_motion/ascii/oscilloscope.py,sha256=Xgd3CsWKVUgl66r3QrS_XLeTYEhhwAygL-QAhU610bM,20941
30
- zaber_motion/ascii/oscilloscope_data.py,sha256=SvF6pdFl_HAyVzHCkNhjh7eQwd3NXVQHUShGm3iSWKg,7465
31
- zaber_motion/ascii/pvt.py,sha256=PtJhRGQDIiM5oG7uNgtEqtEwynHOXtCEhurYq2Dxr2c,2970
32
- zaber_motion/ascii/pvt_buffer.py,sha256=4vnca3STciuQjqAjFGm1Wbx5Ea4lzKvqOcJL376L8kM,3270
33
- zaber_motion/ascii/pvt_io.py,sha256=RNe6JhfZrTmSjnF9VaEhD0XvuV0p_m2_UUdkmcA5g58,22867
34
- zaber_motion/ascii/pvt_sequence.py,sha256=9fLxajzIz4rI73Xzb39r2fuM6gIXbtwId7S6KCJqw0s,52711
35
- zaber_motion/ascii/servo_tuner.py,sha256=W74ANJl22iotuEJ6XkFrJDXIINvNAna2nKYmZy6J_SA,23976
20
+ zaber_motion/ascii/all_axes.py,sha256=-g226GCRClqolpwZSYQj_ohuVfyBf6YPNSt3BxXxme4,11145
21
+ zaber_motion/ascii/axis.py,sha256=sBJ3RqqgAO0y3NAbxHp6yUBj8ES1yCykFMScYkkGyK4,59336
22
+ zaber_motion/ascii/axis_group.py,sha256=YqaiAoj2r0v_TdRrlVSB8ayyYdrHWGnCAKtbApCKCd8,13330
23
+ zaber_motion/ascii/axis_settings.py,sha256=m27Tech_tQmyTyPb3TBQ0XifMLJgmjwzh_blr3S75DM,24253
24
+ zaber_motion/ascii/connection.py,sha256=ZP7AEA_6qUU6cteI5Yft45BOAGhM--OvNAGOsCSgewo,39671
25
+ zaber_motion/ascii/device.py,sha256=0ulmpigib2cqYyhOYZZM9RJyOv1_s6hoQUEYN1kQ8FU,30648
26
+ zaber_motion/ascii/device_io.py,sha256=iuihkckfF6IeXN5OFw-9tIuyPjLSg5g5BAwO2BrMdGY,40558
27
+ zaber_motion/ascii/device_settings.py,sha256=SRgmMkJLmlPgmSe0-Mo9HqEJV9E6RgFqZRqoT-E5ey0,22757
28
+ zaber_motion/ascii/lockstep.py,sha256=Rsek-jna6mNS7VaLRLMPi6WYwVzR03HziPiAM9qCSZ0,44646
29
+ zaber_motion/ascii/oscilloscope.py,sha256=g8-E1gm9DIHZkEVY-xMQpbMc3dS4VQ_39D8MC7cNHsg,20951
30
+ zaber_motion/ascii/oscilloscope_data.py,sha256=PCuBTGKkDgKeFxNgvp7UHbHo9DvC57zIoySPyU0Cd7k,7470
31
+ zaber_motion/ascii/pvt.py,sha256=wn82O2BA0ihmqUCJ-FlvbveLL_bdxQsyktxThby_Vn8,2980
32
+ zaber_motion/ascii/pvt_buffer.py,sha256=u-NpYQTnSdNY3KRpbfjOISEmE5Xb1Kx2inzYXCJwD74,4596
33
+ zaber_motion/ascii/pvt_io.py,sha256=g7kT5nRR4DZMb7mlvp_6-0HLxZfs4Mn0r8nkE42-mbI,22882
34
+ zaber_motion/ascii/pvt_sequence.py,sha256=u3Tn0jCfKmIbIlRz0LQNLIySf5D77SlzogVFfQhfEiM,59291
35
+ zaber_motion/ascii/servo_tuner.py,sha256=3SErwUwjtLVZqng7BuaooGIkCGHZ4l6qpVzEqCfnDVs,23982
36
36
  zaber_motion/ascii/setting_constants.py,sha256=EzbS04WLNGkq8FK_BUulM2YJe_IYqhpyoL1VPEWq9uY,31684
37
- zaber_motion/ascii/storage.py,sha256=TKsTzB3Z6x8mq4OTcEhij7TcVchZL32JXqgVY0WZFow,27036
38
- zaber_motion/ascii/stream.py,sha256=vXql5bi2RaUcmHjGwS00Vs7PqRIbtoikSGOjluAZi9E,82674
39
- zaber_motion/ascii/stream_buffer.py,sha256=KKX-XlsoMjmt8pL7kqF16qZnRF_2TDeRLPg7v896Ju4,3180
40
- zaber_motion/ascii/stream_io.py,sha256=7_4iRj8Yo8V2FCuuLVOA7-9WL8fGwq_sZwQNH70-skg,25758
41
- zaber_motion/ascii/streams.py,sha256=hH5oUuBhOdNwwvDqVoAiRt7rUcLMdZa2sifrzGdiVcQ,2958
42
- zaber_motion/ascii/transport.py,sha256=pIDJImgsCCusIAkKvELBbL7CXXWfFb0mBj3IFb8OJKE,6060
43
- zaber_motion/ascii/trigger.py,sha256=g6Kbs7l4_K6h4v90EejoLkIS3G70OZoMjYJNFJT6jow,30728
44
- zaber_motion/ascii/triggers.py,sha256=IMiYZWdZJSzi54vHOPzfXeq6kB6X0T_ORDGGXFBNFs4,7518
37
+ zaber_motion/ascii/storage.py,sha256=osMUAKY3wlFUx1bU12Txr95-c5o4JLEzIlRwqiTrJY0,27054
38
+ zaber_motion/ascii/stream.py,sha256=Gb2aCv4iEHy7vPFV7AxErU9NJXeH8RPG5MCz163CpgY,82699
39
+ zaber_motion/ascii/stream_buffer.py,sha256=6PY5wTa8ZwWacKA8WLi2Nt3z17mH3WmW7Kbomk5UfeA,3195
40
+ zaber_motion/ascii/stream_io.py,sha256=es_SVBPIFnRyrFpueofJDfR7zAy44plEapeJNWkicVQ,25773
41
+ zaber_motion/ascii/streams.py,sha256=_ehLhhQrza81lvdqaxYezRM4igQcQjZIMAp59juSA9k,2968
42
+ zaber_motion/ascii/transport.py,sha256=8JdsXZM4zOGDJshEpAPiEIgXXlB0WWfa-YGP0YzEpEU,6065
43
+ zaber_motion/ascii/trigger.py,sha256=JSnIa2MIcsHA8MUDIIAcTIzk1Y3SJyr1HrB1BuuvlH8,30743
44
+ zaber_motion/ascii/triggers.py,sha256=iwH4OiAWEdk3tzYin-kuMjLRZqhhoFc8r2vllYpHqbk,7528
45
45
  zaber_motion/ascii/warning_flags.py,sha256=YEzRXo46V_NngK4eFLzqqhhtEf-1DxpKVNFA4tVh788,3033
46
- zaber_motion/ascii/warnings.py,sha256=CDWfWEfi3XiolGfJvba95rHYntlETwFw12HOdYofNVw,5213
46
+ zaber_motion/ascii/warnings.py,sha256=CJXt75mvPQLhjrpgJlRNiKv5mnUfu52aYdY9GesQQMw,5228
47
47
  zaber_motion/binary/__init__.py,sha256=P_lUxnbFHS5OfvCSK3835lEU0mpwK19MbLzGUfQ9MnI,873
48
- zaber_motion/binary/connection.py,sha256=cJJDc67z-VnZUugjXfTVsTTVsSRKzbbEt9i3GKpmUk0,22048
49
- zaber_motion/binary/device.py,sha256=NdHfnue6vrW8uJUqufVMiod4VudujraltIOl7AMobWg,30162
50
- zaber_motion/binary/device_settings.py,sha256=Va3etDqmUNJGmdK5m2FQCsdpwp-oq7mhcez-HTNiedg,3470
51
- zaber_motion/dto/__init__.py,sha256=UYCid3DCX6RAhFestXg_g84-G12zOXEsJLj5m8FS2Eo,592
48
+ zaber_motion/binary/connection.py,sha256=XLce7byt5jvPn7_iSHXfqn69wZ_rdD6dxrRYxsT5jVc,22053
49
+ zaber_motion/binary/device.py,sha256=q6-EPR2sC869FBuv_IAmuygySCccH2u3pO4swVSDTlk,30197
50
+ zaber_motion/binary/device_settings.py,sha256=iSd-WZOLfY1S0J00SaI8ANIKbl20R7__1TWelTqSGCQ,3480
51
+ zaber_motion/dto/__init__.py,sha256=EEioDvMqXgvkGDZmFeSFzygCope4XtHsDp2bHFm3lfc,656
52
52
  zaber_motion/dto/axis_address.py,sha256=IREwpiDBLEstKDwiZzZtOg1kZiBB6JHPpwZ8rqtccSo,2379
53
53
  zaber_motion/dto/channel_address.py,sha256=9rp45aNT65ZZ_6KwVNyyJVxzt4oiPB-lKShLst09BC4,2469
54
+ zaber_motion/dto/device_db_source.py,sha256=EiLWJLnnml8VUdQM5LZngGqc3ZF79ILc3fZTq2tvI6U,2504
54
55
  zaber_motion/dto/device_db_source_type.py,sha256=0eTxhzQyjB5dGLvBKajAmUcp-QjaiIse5Gtzz_7TSKI,204
55
56
  zaber_motion/dto/firmware_version.py,sha256=D8YZSAVGekFHHOrKw4belhenC0nf4AnsUkaARGSkG5s,3060
56
57
  zaber_motion/dto/log_output_mode.py,sha256=fqVH_Gkys4unMP9a1F1zVCbuAZZ8XdWPbsIso4lFCTg,228
@@ -112,12 +113,13 @@ zaber_motion/dto/binary/message.py,sha256=WEjlK6yTycHSwhgJ3A2yW-gG9QOSBCJVC0_oTK
112
113
  zaber_motion/dto/binary/reply_code.py,sha256=YGz_XFOReUJAi_XzSENGEqmmk-Yl1gACqcp0FUIhZnE,367
113
114
  zaber_motion/dto/binary/reply_only_event.py,sha256=2joADRq_wjx2XKt6fDmwGvyAddnp3qV2PqHKK3rWswA,3312
114
115
  zaber_motion/dto/binary/unknown_response_event.py,sha256=doboC2pQe4WsGHDqgBO1laoIDeG4ElOnJdVHtcxxamc,3408
115
- zaber_motion/dto/exceptions/__init__.py,sha256=LzHb_awSu9IziJXwd7hhTrMbzhwcKXUk2IuscaZPJPI,2377
116
+ zaber_motion/dto/exceptions/__init__.py,sha256=sXRbJJTR5MFPPGEHJwcoqY0Dtcm8Id5EwFjCbtdNl20,2454
116
117
  zaber_motion/dto/exceptions/binary_command_failed_exception_data.py,sha256=84Fdi_ACEbs6whoOhZNmU6R_dyLCKXL5qDio6VqsB0M,2139
117
118
  zaber_motion/dto/exceptions/command_failed_exception_data.py,sha256=hWE-JIjkfpG7SUhmfhZROUOtAlFtq_GTfwN1t0d9rgY,5647
118
119
  zaber_motion/dto/exceptions/command_too_long_exception_data.py,sha256=Um3WLYac6ECRqgfXqbMrvAgu_V2UCb-KyxZV8qD0lUE,3750
119
120
  zaber_motion/dto/exceptions/device_address_conflict_exception_data.py,sha256=SKky0oLvLkxKtEob7XyIJen2xdHM8dDDTB3Th6h2ODM,2738
120
- zaber_motion/dto/exceptions/device_db_failed_exception_data.py,sha256=Gz95XoHnCsZPh5dYnN7nU30S2w0z69z3CK6lfe2CXj8,1725
121
+ zaber_motion/dto/exceptions/device_db_failed_exception_data.py,sha256=LYNX9P_ZUc2NppjJPJuCtJ02JutgM_ro0SdVfaRDD3U,2982
122
+ zaber_motion/dto/exceptions/device_db_inner_error.py,sha256=Cpou48pahapCi9mpTK7hdsWh6strKRnvmUFC9QEtB2s,3257
121
123
  zaber_motion/dto/exceptions/g_code_execution_exception_data.py,sha256=tFRia2cZpYDZME0cfitOxlTYfWuIh48Bxese9bKWWb8,2819
122
124
  zaber_motion/dto/exceptions/g_code_syntax_exception_data.py,sha256=rhOE4sBjkvSxmazjURp7soEAjQOyMJCigT3dc-3r3YA,2777
123
125
  zaber_motion/dto/exceptions/invalid_packet_exception_data.py,sha256=kzg390dFDiqtJ1ZxV0kpcdwqlVUCv-8SCksxExvg06I,2140
@@ -151,7 +153,7 @@ zaber_motion/dto/product/__init__.py,sha256=86E40zuNYyjmUZbI633rB2PjjvhltcZ1KQ3O
151
153
  zaber_motion/dto/product/process_controller_mode.py,sha256=CCiUqQHSuxui8Bn_qDFDgh5NdyREdC9eH3uWHQD4v54,241
152
154
  zaber_motion/dto/product/process_controller_source.py,sha256=nW-vvxjqEaSVnhZrgIFNxq0Gvn5qmJsdpe2dY_fOEAY,2649
153
155
  zaber_motion/dto/product/process_controller_source_sensor.py,sha256=2LvWeTrbG7OqTS26OZRGQtOUyBAjy6LaB9k9hoVEMSM,228
154
- zaber_motion/dto/requests/__init__.py,sha256=cTnq6FgE2sKeE4aXy5CG3xsU3j6SaW7YUWBFKtkzIn0,23510
156
+ zaber_motion/dto/requests/__init__.py,sha256=4quX2Z2SGcNej0J0wJhCC3mg4dFRW0rFmHRA-bCgReY,23990
155
157
  zaber_motion/dto/requests/alert_event_wrapper.py,sha256=5py6PY1Ao_lkD3K_FvDHyW6pTDmOFl30Jh5lIwljB9E,3135
156
158
  zaber_motion/dto/requests/autofocus_focus_request.py,sha256=9IGsIMqwoBryeo5onGrqWMcD5WFR7dEtnfU_DWHL4A8,5403
157
159
  zaber_motion/dto/requests/autofocus_get_objective_params_request.py,sha256=2p79lpPqgJzOqglYym7qU4JT1IQ7jmkRn-bZhReQSiw,5472
@@ -293,18 +295,22 @@ zaber_motion/dto/requests/oscilloscope_request.py,sha256=f2sSjYUWmIwwlDTc4XsA360
293
295
  zaber_motion/dto/requests/oscilloscope_start_request.py,sha256=XxJ5zTlvD19iF2BeIx8OneEgffvP2P_mOHk0IknY3eU,3211
294
296
  zaber_motion/dto/requests/prepare_command_request.py,sha256=jIQmZuURR788Dvq3iXj06fuGgsoOpY1rGK9_a3bpLSM,4553
295
297
  zaber_motion/dto/requests/process_on.py,sha256=M47KOjxUnp78cf_uEovbLGFpAmCF9DSJ6GjcscJ8jqE,3914
298
+ zaber_motion/dto/requests/pvt_buffer_get_sequence_data_request.py,sha256=47sdsi9Uc--SFxvPM8oh2gWRJfVrABXCMumhzF_AwB0,3258
296
299
  zaber_motion/dto/requests/pvt_csv_request.py,sha256=fTVlAptcAa1jHEbyJoGxkbZviiDmuPCfoEkZUT94gB0,2201
297
300
  zaber_motion/dto/requests/pvt_generate_positions_request.py,sha256=-tvA0J8rsrSwhHh4PuaiyNNMNQqTo6XfOhtvXKkMlw0,3251
301
+ zaber_motion/dto/requests/pvt_generate_velocities_and_times_request.py,sha256=la0fIzNJ8Cw4MOHcYWEOvDH332AxRaqMlwVwQ9KoTJI,4689
298
302
  zaber_motion/dto/requests/pvt_generate_velocities_request.py,sha256=EBIslmNb5oF03oMLgx5uQl8rhNFNc679UGHv8etc5YQ,4455
299
303
  zaber_motion/dto/requests/pvt_load_csv_request.py,sha256=HRkNbjB310QecZMAbmevrlZQuAUy5kMbCULifguMmJs,1513
300
304
  zaber_motion/dto/requests/pvt_point_request.py,sha256=ndffqql0mg54NEb2udMh3BSYN4G84tE32qwk81eCzq4,6287
301
305
  zaber_motion/dto/requests/pvt_points_request.py,sha256=3JgA6BElXfLUWsfdXh5WiU2jjIoQyrdSWHa6cI51-Q4,6471
302
306
  zaber_motion/dto/requests/pvt_save_csv_request.py,sha256=SD9idafiFcKb7rflNH8ErM3ces5Qo-x-pMtCQHt2g2g,3120
307
+ zaber_motion/dto/requests/pvt_submit_sequence_data_request.py,sha256=7SRSlQsrGxM4VHv0X3Hx9IDeoPsv22qcxDaLDmRB-Gk,3960
303
308
  zaber_motion/dto/requests/renumber_request.py,sha256=YpCaph7eXEl68SQMAXg1lDIj7fFn2r0v3qhtYmERpRs,2981
304
309
  zaber_motion/dto/requests/response_type.py,sha256=YRIVY7w7Iw7rvLluMBw_C3dCfSCiRunURDib8wHFlpw,133
305
310
  zaber_motion/dto/requests/servo_tuning_paramset_response.py,sha256=wiaLXPS7Cx-oVD-CIchOhrW6isKs3LxIY0rVG83Shbk,1938
306
311
  zaber_motion/dto/requests/servo_tuning_request.py,sha256=c4M24xacFToff-mpXMBRC-o4KjbRtlG9_f8LeINX2h8,3645
307
- zaber_motion/dto/requests/set_device_db_source_request.py,sha256=HPghi8y7El8qkw9LTYdxY7ofFw2xTXY4s8Y_amTbiIo,2413
312
+ zaber_motion/dto/requests/set_device_db_layered_sources_request.py,sha256=tLt7aNWZVG7aOdehTcqHYkqODgHT9hMRDbjmSLumuhU,2390
313
+ zaber_motion/dto/requests/set_device_db_source_request.py,sha256=9Q5n6xV34AS1KA8X8yKhTpK40hP2VbFbZHsV_UWD3iU,2572
308
314
  zaber_motion/dto/requests/set_interface_checksum_enabled_request.py,sha256=vW97meNEyrErMu0oMNBj3Xm0q4NiGyPDCk6pvp90Sfw,2201
309
315
  zaber_motion/dto/requests/set_interface_timeout_request.py,sha256=smHe-b9b1LI3v8XrTb7Bu4kbsj5GvpEen9x3aZWWIog,2558
310
316
  zaber_motion/dto/requests/set_internal_mode_request.py,sha256=q_fa5zVjonPFY1PCanolHK3J-IvWyoyAKmHDU6R_Pc4,1387
@@ -401,7 +407,7 @@ zaber_motion/dto/requests/wait_to_clear_warnings_request.py,sha256=85I8HjG1CPLU1
401
407
  zaber_motion/dto/requests/wait_to_respond_request.py,sha256=NK4W7r0D1-YV2hY-fgDPP3RDZVf4nhTKa5cLmu-SfDc,2915
402
408
  zaber_motion/dto/requests/wdi_generic_request.py,sha256=0gy5YxJzvLfx-2je4Jeqe60davRISvvPEUd_19JpTD0,5565
403
409
  zaber_motion/dto/requests/wdi_get_status_response.py,sha256=gsoNgsSVScPxrDLwLuMKHEWHn2M95uFOdtjX4hfWR-4,1971
404
- zaber_motion/exceptions/__init__.py,sha256=PVNO_SzbHZL_IiLUVHTgy-EV62wHErSH4kPccLDNb4g,8720
410
+ zaber_motion/exceptions/__init__.py,sha256=us1-pFsQ85T1Z5Bo8hmVZwUFvvdQcDo4lcLghRtDK4Y,8813
405
411
  zaber_motion/exceptions/bad_command_exception.py,sha256=kV7A3s2LkgmaxAeT_p5IGBBbhVTDV0e2VTp8hsLAl6s,308
406
412
  zaber_motion/exceptions/bad_data_exception.py,sha256=AgeU-KjyfGRY-Ur1smi0kG_PCqvoTiF8w4lVtelczQk,346
407
413
  zaber_motion/exceptions/binary_command_failed_exception.py,sha256=RCOvc6lS9FXvZsVHFGrvxbxICy1jt56Lcxe6FmH4Guk,1003
@@ -466,23 +472,23 @@ zaber_motion/exceptions/timeout_exception.py,sha256=dYQthx0k6ZcwNimrKiwrIPvtyn8N
466
472
  zaber_motion/exceptions/transport_already_used_exception.py,sha256=aKoazgdV4nGmvMb_AlEjX6cJYjIfnLoAPUgnjf66bVg,330
467
473
  zaber_motion/exceptions/unknown_request_exception.py,sha256=CgLfCFYjyVSGRELnxOCUkweTuTQoMaPrXfOGQlocRm8,345
468
474
  zaber_motion/gcode/__init__.py,sha256=mzkbRF4WtC2j1jiyxWkLOLVFjDZZP2GXiGG8Y4dtjog,764
469
- zaber_motion/gcode/offline_translator.py,sha256=z1-0Dz1QoeSnDp47b5xGc6esIs0KVheoOY2nM7o34mU,12519
470
- zaber_motion/gcode/translator.py,sha256=DpS0H1uU9hI55auXh_P8wv8luu7vmmkKLQuq3YudX_4,13259
475
+ zaber_motion/gcode/offline_translator.py,sha256=b5SWTMN_g2Lrns0m6vaFZnqk4Z096ud7jCzvA4-3X94,12524
476
+ zaber_motion/gcode/translator.py,sha256=zbtnLsqR8gImniue8CkQXhPJ4QuFqrXHXbR8togfKm4,13264
471
477
  zaber_motion/microscopy/__init__.py,sha256=B1nfWsalhZC2iZZR65YCu-v1gzI0_A0mpebMEgexnf8,1030
472
- zaber_motion/microscopy/autofocus.py,sha256=t8hQJuLv7QBnvLIRHLsCqjuGMw_gKT4wU_B8cPSBeEA,24360
473
- zaber_motion/microscopy/camera_trigger.py,sha256=62gjhmN1bkmyDguiXIx3Ur35OZz_KHzDLahBnpeaX3A,3570
474
- zaber_motion/microscopy/filter_changer.py,sha256=puV-jVg7PrtHT2ixWQFR1jW2HNRRrnJdHOjnd3ffv9k,4818
475
- zaber_motion/microscopy/illuminator.py,sha256=w63vgAmZlZmse_bIsEmglg899WkqbrvD_y6j5Pz7ATQ,4290
476
- zaber_motion/microscopy/illuminator_channel.py,sha256=17VoYKvazUnPDh9QvX5OidUfkBYWpHWrLIAcSnTsO00,21067
477
- zaber_motion/microscopy/microscope.py,sha256=GzQuo-uZO8ksMoJ2sdDsTEV4aRmWqBBP7gLx5iJBlNM,8867
478
- zaber_motion/microscopy/objective_changer.py,sha256=CcuQbzK3GvQXpWY10hkf74eFM6Q8R-oHEE90rw5yjZo,13946
479
- zaber_motion/microscopy/wdi_autofocus_provider.py,sha256=bg5MaP1cvvPGX8kFMqfXROvtns1kj4pGpBEblc81DPw,11886
478
+ zaber_motion/microscopy/autofocus.py,sha256=XhorXFrXT_Sikp0UhTIQc9xDCpGbhmq9V9B3odPDIwo,24389
479
+ zaber_motion/microscopy/camera_trigger.py,sha256=WqKqdaIhF68BnvYE6C4ygY3f5uoCGTGq1bM3LXH0--k,3583
480
+ zaber_motion/microscopy/filter_changer.py,sha256=8nTMWfF89IoEy5sueZA-v6sHEc-xhLuL6cl6k-G2RTQ,4826
481
+ zaber_motion/microscopy/illuminator.py,sha256=hh-4_p7DlPfMFBqGd8jn0QSB11bcsGEH5xEQeyrV7p4,4308
482
+ zaber_motion/microscopy/illuminator_channel.py,sha256=d7T1nppREWStueDASnj6_RUJqu3-YfHPY3J4KH6KRx0,21130
483
+ zaber_motion/microscopy/microscope.py,sha256=2f02iWTypslE9xjnrIIYfty-XmBVOLQVuxoSqrLDsG0,10096
484
+ zaber_motion/microscopy/objective_changer.py,sha256=YdIUczXXijOpiOWKmj1OIcbTZvuls24AqoRju3Z8kT0,13960
485
+ zaber_motion/microscopy/wdi_autofocus_provider.py,sha256=YF1AKSr4RNnDs2xGb3J67CpdNT4TVyYxvOnCLoArqHw,11891
480
486
  zaber_motion/product/__init__.py,sha256=ZGZzfMmsd1ZWwLk0SZ3Ac1Une88SZQHuuzEFGgd6ork,538
481
- zaber_motion/product/process.py,sha256=IRHDUcQZItJSGIhW20KTiG4KoHxgzheqLUYSn-rwNnQ,28276
482
- zaber_motion/product/process_controller.py,sha256=89s_7EQ5RWPjXZ1krDbOt7oc87wSB-2SRHDoiVCE-L0,4319
483
- zaber_motion-7.10.0.dist-info/licenses/LICENSE.txt,sha256=H7YIgjgmcE_L-pfvZTWUoLrk7p0LiiKQh5_oeIWux-k,111363
484
- zaber_motion_bindings/zaber-motion-core-windows-arm64.dll,sha256=ohkdsr3wxWXG2_E4kKDLCjEzF3jFp00UQ7B8JCxhvgI,14422016
485
- zaber_motion-7.10.0.dist-info/METADATA,sha256=sQwM6Obk7HtseebHCUfeqnkCPlhDmsywpLBulN7dsyg,129839
486
- zaber_motion-7.10.0.dist-info/WHEEL,sha256=PtZ7_1TP6Cu1E5x_voSGj5l6q0pu2rBD8e6tfv65a50,97
487
- zaber_motion-7.10.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
488
- zaber_motion-7.10.0.dist-info/RECORD,,
487
+ zaber_motion/product/process.py,sha256=o5GoKjC7eTVwTrfeugqvfTmg-UARhyTTbDDmoGCQ8Q8,28345
488
+ zaber_motion/product/process_controller.py,sha256=GVYMALlFWEcvLipPk1GF-M7LcoKfCf5_YqFMeFseCpg,4327
489
+ zaber_motion-7.12.0.dist-info/licenses/LICENSE.txt,sha256=H7YIgjgmcE_L-pfvZTWUoLrk7p0LiiKQh5_oeIWux-k,111363
490
+ zaber_motion_bindings/zaber-motion-core-windows-arm64.dll,sha256=y5UkhePLKFciyPFIQ2mUGPhmYYlMkZBnQkz_FiQnoKs,14781952
491
+ zaber_motion-7.12.0.dist-info/METADATA,sha256=bciDrSBFojhKeLJh5RdzW2bIQuZ50vasFW1DAeqN-U0,129839
492
+ zaber_motion-7.12.0.dist-info/WHEEL,sha256=PtZ7_1TP6Cu1E5x_voSGj5l6q0pu2rBD8e6tfv65a50,97
493
+ zaber_motion-7.12.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
494
+ zaber_motion-7.12.0.dist-info/RECORD,,