ophyd-async 0.3a3__py3-none-any.whl → 0.3a4__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 (31) hide show
  1. ophyd_async/_version.py +1 -1
  2. ophyd_async/core/__init__.py +24 -10
  3. ophyd_async/core/async_status.py +2 -0
  4. ophyd_async/core/device.py +22 -9
  5. ophyd_async/core/mock_signal_backend.py +86 -0
  6. ophyd_async/core/mock_signal_utils.py +149 -0
  7. ophyd_async/core/signal.py +38 -42
  8. ophyd_async/core/{sim_signal_backend.py → soft_signal_backend.py} +23 -33
  9. ophyd_async/epics/_backend/_aioca.py +11 -7
  10. ophyd_async/epics/_backend/_p4p.py +11 -7
  11. ophyd_async/epics/_backend/common.py +17 -17
  12. ophyd_async/epics/areadetector/__init__.py +0 -4
  13. ophyd_async/epics/areadetector/drivers/ad_base.py +12 -10
  14. ophyd_async/epics/areadetector/drivers/aravis_driver.py +7 -5
  15. ophyd_async/epics/areadetector/drivers/kinetix_driver.py +7 -4
  16. ophyd_async/epics/areadetector/drivers/pilatus_driver.py +5 -2
  17. ophyd_async/epics/areadetector/drivers/vimba_driver.py +12 -7
  18. ophyd_async/epics/areadetector/utils.py +2 -12
  19. ophyd_async/epics/areadetector/writers/nd_file_hdf.py +21 -19
  20. ophyd_async/epics/areadetector/writers/nd_plugin.py +6 -7
  21. ophyd_async/epics/motion/motor.py +5 -1
  22. ophyd_async/epics/pvi/pvi.py +11 -11
  23. ophyd_async/panda/_hdf_panda.py +3 -3
  24. ophyd_async/sim/demo/sim_motor.py +4 -4
  25. ophyd_async/sim/pattern_generator.py +5 -5
  26. {ophyd_async-0.3a3.dist-info → ophyd_async-0.3a4.dist-info}/METADATA +2 -2
  27. {ophyd_async-0.3a3.dist-info → ophyd_async-0.3a4.dist-info}/RECORD +31 -29
  28. {ophyd_async-0.3a3.dist-info → ophyd_async-0.3a4.dist-info}/LICENSE +0 -0
  29. {ophyd_async-0.3a3.dist-info → ophyd_async-0.3a4.dist-info}/WHEEL +0 -0
  30. {ophyd_async-0.3a3.dist-info → ophyd_async-0.3a4.dist-info}/entry_points.txt +0 -0
  31. {ophyd_async-0.3a3.dist-info → ophyd_async-0.3a4.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ from bluesky.protocols import Movable, Stoppable
6
6
 
7
7
  from ophyd_async.core import StandardReadable
8
8
  from ophyd_async.core.async_status import AsyncStatus
9
- from ophyd_async.core.signal import soft_signal_r_and_backend, soft_signal_rw
9
+ from ophyd_async.core.signal import soft_signal_r_and_setter, soft_signal_rw
10
10
  from ophyd_async.core.standard_readable import ConfigSignal, HintedSignal
11
11
 
12
12
 
@@ -21,7 +21,7 @@ class SimMotor(StandardReadable, Movable, Stoppable):
21
21
  - instant: bool: whether to move instantly, or with a delay
22
22
  """
23
23
  with self.add_children_as_readables(HintedSignal):
24
- self.user_readback, self._user_readback = soft_signal_r_and_backend(
24
+ self.user_readback, self._user_readback_set = soft_signal_r_and_setter(
25
25
  float, 0
26
26
  )
27
27
 
@@ -84,7 +84,7 @@ class SimMotor(StandardReadable, Movable, Stoppable):
84
84
  # update position based on time elapsed
85
85
  if time_elapsed >= travel_time:
86
86
  # successfully reached our target position
87
- await self._user_readback.put(new_position)
87
+ self._user_readback_set(new_position)
88
88
  self._set_success = True
89
89
  break
90
90
  else:
@@ -92,7 +92,7 @@ class SimMotor(StandardReadable, Movable, Stoppable):
92
92
  old_position + distance * time_elapsed / travel_time
93
93
  )
94
94
 
95
- await self._user_readback.put(current_position)
95
+ self._user_readback_set(current_position)
96
96
 
97
97
  # notify watchers of the new position
98
98
  for watcher in watchers:
@@ -23,8 +23,8 @@ from event_model import (
23
23
  )
24
24
 
25
25
  from ophyd_async.core import DirectoryInfo, DirectoryProvider
26
+ from ophyd_async.core.mock_signal_backend import MockSignalBackend
26
27
  from ophyd_async.core.signal import SignalR, observe_value
27
- from ophyd_async.core.sim_signal_backend import SimSignalBackend
28
28
  from ophyd_async.core.utils import DEFAULT_TIMEOUT
29
29
 
30
30
  # raw data path
@@ -158,8 +158,8 @@ class PatternGenerator:
158
158
  self.written_images_counter: int = 0
159
159
 
160
160
  # it automatically initializes to 0
161
- self.signal_backend = SimSignalBackend(int)
162
- self.sim_signal = SignalR(self.signal_backend)
161
+ self.signal_backend = MockSignalBackend(int)
162
+ self.mock_signal = SignalR(self.signal_backend)
163
163
  blob = np.array(
164
164
  generate_gaussian_blob(width=detector_width, height=detector_height)
165
165
  * MAX_UINT8_VALUE
@@ -220,7 +220,7 @@ class PatternGenerator:
220
220
  async def open_file(
221
221
  self, directory: DirectoryProvider, multiplier: int = 1
222
222
  ) -> Dict[str, DataKey]:
223
- await self.sim_signal.connect()
223
+ await self.mock_signal.connect()
224
224
 
225
225
  self.target_path = self._get_new_path(directory)
226
226
 
@@ -314,5 +314,5 @@ class PatternGenerator:
314
314
  async def observe_indices_written(
315
315
  self, timeout=DEFAULT_TIMEOUT
316
316
  ) -> AsyncGenerator[int, None]:
317
- async for num_captured in observe_value(self.sim_signal, timeout=timeout):
317
+ async for num_captured in observe_value(self.mock_signal, timeout=timeout):
318
318
  yield num_captured // self.multiplier
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ophyd-async
3
- Version: 0.3a3
3
+ Version: 0.3a4
4
4
  Summary: Asynchronous Bluesky hardware abstraction code, compatible with control systems like EPICS and Tango
5
5
  Author-email: Tom Cobb <tom.cobb@diamond.ac.uk>
6
6
  License: BSD 3-Clause License
@@ -48,6 +48,7 @@ Requires-Dist: bluesky >=1.13.0a3
48
48
  Requires-Dist: event-model <1.21.0
49
49
  Requires-Dist: p4p
50
50
  Requires-Dist: pyyaml
51
+ Requires-Dist: colorlog
51
52
  Provides-Extra: ca
52
53
  Requires-Dist: aioca >=1.6 ; extra == 'ca'
53
54
  Provides-Extra: dev
@@ -85,7 +86,6 @@ Requires-Dist: sphinx-design ; extra == 'dev'
85
86
  Requires-Dist: tox-direct ; extra == 'dev'
86
87
  Requires-Dist: types-mock ; extra == 'dev'
87
88
  Requires-Dist: types-pyyaml ; extra == 'dev'
88
- Requires-Dist: colorlog ; extra == 'dev'
89
89
  Provides-Extra: pva
90
90
  Requires-Dist: p4p ; extra == 'pva'
91
91
 
@@ -1,31 +1,33 @@
1
1
  ophyd_async/__init__.py,sha256=v-rRiDOgZ3sQSMQKq0vgUQZvpeOkoHFXissAx6Ktg84,61
2
2
  ophyd_async/__main__.py,sha256=G-Zcv_G9zK7Nhx6o5L5w-wyhMxdl_WgyMELu8IMFqAE,328
3
- ophyd_async/_version.py,sha256=hJ-uDF6qfItINzjClbnbKB7a1O2myzhQQHmhtpj1sL0,408
3
+ ophyd_async/_version.py,sha256=KnUL22nu-ueGx6I5b6OJXJXe49pxXyZLEJ7g8y71WnM,408
4
4
  ophyd_async/log.py,sha256=DbMjt0bkfUOLHIinZYt0Q0FHZmCXXi5x8y0uFiEmqoQ,3587
5
5
  ophyd_async/protocols.py,sha256=48jqS78KAMvy6LmenL21ARoTAD8oOL9YdVmIlI0E0VA,2890
6
- ophyd_async/core/__init__.py,sha256=3GBJlwSkAH_zv4KhKLsxFxGPUuyOoJj2fTSbG6vOd6w,2496
6
+ ophyd_async/core/__init__.py,sha256=h1jha-uq0_QfQx2ZD8wit5a58doHfNebyK1mxHMKTUI,2843
7
7
  ophyd_async/core/_providers.py,sha256=LrlTMPHKXWOPVkpAOw-pqBq0kip-c3C9ZZPoFfiaV4M,2212
8
- ophyd_async/core/async_status.py,sha256=-sfIf7VhwAP25kSVwKZjAIYOTROpfnh2jgkDw5_afSU,2801
8
+ ophyd_async/core/async_status.py,sha256=7cf5vfOaP6qZ8GW7sl--IZOi8CaLfPM5ULa8H1K3aeA,2803
9
9
  ophyd_async/core/detector.py,sha256=OkdaaJnj2v8DKF4k7VsTo8ReAvIzyFjBqbqdiYf7FBE,11179
10
- ophyd_async/core/device.py,sha256=Bm8u1wEN6PuJgCgis_msVRvfrO1_RumxAIMPag8k-cI,5813
10
+ ophyd_async/core/device.py,sha256=xoxz0Iz4vovOWwpUzecDFLtLyJb_aLVi2EBnwxMyeMQ,6209
11
11
  ophyd_async/core/device_save_loader.py,sha256=RXA3dPUPihAR2ZGDStlGiA-TAsr_xqL0snsCjMsMnfA,9138
12
12
  ophyd_async/core/flyer.py,sha256=LfO3EQTW2zMeNqZh8TLXvE92E30Duds2RXskRYAdJ_4,2299
13
- ophyd_async/core/signal.py,sha256=S91oRS6E9zNNMV-Mpa7wqTt24IfFI22Vui9MhDQdxys,14523
13
+ ophyd_async/core/mock_signal_backend.py,sha256=MZQr1oGv2ssnAK9WxItthiZogCh8rw4BL2N4YoHCgww,3041
14
+ ophyd_async/core/mock_signal_utils.py,sha256=weaH1PnjyzIxo2FmhLwx4o5i-X71srvvvsHsN3C4XqY,4267
15
+ ophyd_async/core/signal.py,sha256=zjfS_QuPNx9bm8K4tpZYrxqba5A1CHAlRPYg1kokrAQ,14674
14
16
  ophyd_async/core/signal_backend.py,sha256=qDdWz8X4CWStuYknxcj4G76BLq4TzrAIyZO1NOEq9ao,1519
15
- ophyd_async/core/sim_signal_backend.py,sha256=jpCIp-93HraG_rbL1C2CYbZqyQMUpT1fnT4WX24Ihno,6057
17
+ ophyd_async/core/soft_signal_backend.py,sha256=56zvcEi4c8n1yYbafTbp7X0VhSkhoehm3L8RBhu2fik,5596
16
18
  ophyd_async/core/standard_readable.py,sha256=uVG3vs3s7-Kzg5dRCtT4I2mhZPqwVGYy2dxNmaOpDVU,8980
17
19
  ophyd_async/core/utils.py,sha256=AVF5e42CVG_GaLoHJSI82iC4KAO60fb9fEJMISHBCNM,5043
18
20
  ophyd_async/epics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
21
  ophyd_async/epics/_backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- ophyd_async/epics/_backend/_aioca.py,sha256=91BynQ2sXgK6WvjzgOmaxH7oHBNBHFVfpX3dOt4jo8o,8775
21
- ophyd_async/epics/_backend/_p4p.py,sha256=9TEDa1VzDwuOgPKl3jYOXQ9ysd60_Ri2ymepwdgZjNk,12202
22
- ophyd_async/epics/_backend/common.py,sha256=o0heeQEM7aP-QYCicwOEtNHs5c5OD6raR-5cTs9yRX0,840
23
- ophyd_async/epics/areadetector/__init__.py,sha256=zz6T9nLSBExYjllJGUVFWGsS7m3C680UHbWIjBl9Fn8,556
22
+ ophyd_async/epics/_backend/_aioca.py,sha256=cpPNZmRMi7FnAh2-3ec5uklLVFOqsmEmpI1nh5Ud1Ls,8794
23
+ ophyd_async/epics/_backend/_p4p.py,sha256=lIKx7kQ2o8h3M4wPwrq8JBo8xuDnasJxpDH2ATVBY78,12257
24
+ ophyd_async/epics/_backend/common.py,sha256=16mAuxDwA3eZFjUW8DHMabaW3CtEI0Qe8DLpP2xlW7Y,814
25
+ ophyd_async/epics/areadetector/__init__.py,sha256=ViKzx-wUxkRyNR33wfpL11QB97o0J47_KMyI2C_NphI,510
24
26
  ophyd_async/epics/areadetector/aravis.py,sha256=ujO82hYZ5D5GIaBhz0JNC2G5uVSgowY8xxsY2tunzi4,2277
25
27
  ophyd_async/epics/areadetector/kinetix.py,sha256=7rE2MLnz9DEmeiN9pCekDfpXuZ2DErnMajRp_9eoLZY,1359
26
28
  ophyd_async/epics/areadetector/pilatus.py,sha256=ki-BOBCEIiUD2wAtmujBIB1eX-nbXB4yMLJK_Q3opRM,1398
27
29
  ophyd_async/epics/areadetector/single_trigger_det.py,sha256=U92dqhioIfnve3jtCThq9gXBCdEzzqzY4ezk6rZV19g,1182
28
- ophyd_async/epics/areadetector/utils.py,sha256=dez54oElIkGMnhSM9qghToUB1opSqjdWTV2vhHCgRMA,3133
30
+ ophyd_async/epics/areadetector/utils.py,sha256=p66UbVdKRFj6Sm1Qvm23kmlVyBMMqIvXFxA3x17YnSk,2824
29
31
  ophyd_async/epics/areadetector/vimba.py,sha256=IxG8KLzfb84iLtzf6ZoX9JikqZLP49lwkWu33bkDV9Y,1291
30
32
  ophyd_async/epics/areadetector/controllers/__init__.py,sha256=af58ci7X2z2s_FyUwR3IGQrws8q4TKcBw7vFyIS5FoI,217
31
33
  ophyd_async/epics/areadetector/controllers/ad_sim_controller.py,sha256=mthZ6WxajMEgUKptq3bnkIctbLhjzTagV66i1auB8cg,1587
@@ -34,31 +36,31 @@ ophyd_async/epics/areadetector/controllers/kinetix_controller.py,sha256=9QmydX85
34
36
  ophyd_async/epics/areadetector/controllers/pilatus_controller.py,sha256=cd1CKkaXlwkpQ0I1VL7nN0U8R4VweTsa08WhvHYI4nY,2243
35
37
  ophyd_async/epics/areadetector/controllers/vimba_controller.py,sha256=Eh4Hr9rWgq1mKvE93JzgixntjPHxF3_07GTFqiOdZqE,2123
36
38
  ophyd_async/epics/areadetector/drivers/__init__.py,sha256=-Ib0Lz4fFQQmB7K0uFxMDvAerkLxadMQERH7lNAvrs4,495
37
- ophyd_async/epics/areadetector/drivers/ad_base.py,sha256=ikfyNcZwJa5ah52DckjrBzkMMT_eDY1smM4XWfb6A6E,3689
38
- ophyd_async/epics/areadetector/drivers/aravis_driver.py,sha256=Z96xXKfGJbLYehyy0wmP3mCW5lVRmdypmX-9U8cYbD8,5607
39
- ophyd_async/epics/areadetector/drivers/kinetix_driver.py,sha256=OPl42jZcUPs0l3iUr8Cgr3yswWcZ5MJEqhNS9LKv8Jg,640
40
- ophyd_async/epics/areadetector/drivers/pilatus_driver.py,sha256=fc3vNHqop9oLg-fvaU-diQNEV5U1qzA9vX2T8Hwy_E8,478
41
- ophyd_async/epics/areadetector/drivers/vimba_driver.py,sha256=jAoQJQV1fOwF-hwi-Y9YLYUuE00bhQ-tc8t7-K5-8VI,1546
39
+ ophyd_async/epics/areadetector/drivers/ad_base.py,sha256=cE7I-IsfQz3UR9yqghy4czAxHeHERTTKe080GB9sCFQ,3847
40
+ ophyd_async/epics/areadetector/drivers/aravis_driver.py,sha256=2KbfcsAN2lYXWDc773KS0tE37Fw5gs7IATbDBOyLD-8,5704
41
+ ophyd_async/epics/areadetector/drivers/kinetix_driver.py,sha256=yIV23BkGBJ4i0VskLiLL7AFbadCCR6Ch1UwUDJ9r2YM,743
42
+ ophyd_async/epics/areadetector/drivers/pilatus_driver.py,sha256=0DsUu9vAPXDa2v8_V0f_kPjBtLu3y4_EkmFfFjYO4Gk,553
43
+ ophyd_async/epics/areadetector/drivers/vimba_driver.py,sha256=J54VtWkOklfbSqZYxGWH1e6Uzm9_Gph_ZbCf9Zax0LU,1713
42
44
  ophyd_async/epics/areadetector/writers/__init__.py,sha256=tpPcrYd1hs8WS7C0gmCnR2EBwjE5RzCljI7WwZ2V_LM,191
43
45
  ophyd_async/epics/areadetector/writers/_hdfdataset.py,sha256=E0C9VgsPyY35h7k0mvcIhjsIVNavApLxizqNWlM388w,167
44
46
  ophyd_async/epics/areadetector/writers/_hdffile.py,sha256=YtUgOKX53m0TaFEGBW671qXqNuuEKxEyLV5Ein1fjvo,1799
45
47
  ophyd_async/epics/areadetector/writers/hdf_writer.py,sha256=e7EbusP3Ell-2npdLtDWcZ_kDIRidUwHeqcbeMx4mlU,5427
46
- ophyd_async/epics/areadetector/writers/nd_file_hdf.py,sha256=-wfaAJf7pPVHWJ5fEYX8ZR0tIq9-MjZAn_2MjXClL9I,1626
47
- ophyd_async/epics/areadetector/writers/nd_plugin.py,sha256=l0yBBEazviyFsWJv_4_sfGn_YM_Iyd0_SlMdAmUlXDU,871
48
+ ophyd_async/epics/areadetector/writers/nd_file_hdf.py,sha256=whKDkvKnU1qiDym4xQq4Fd1jHEhtDu552xhhGSnB--w,1910
49
+ ophyd_async/epics/areadetector/writers/nd_plugin.py,sha256=sG4XZAS_k065g88n9U3IJGtYI4PPHfyJMcVqh9hVAa4,979
48
50
  ophyd_async/epics/demo/__init__.py,sha256=D-jYrorqa5C3gLzIi2Hkn8f8uaE9wb5S-WX3YYuHV48,6052
49
51
  ophyd_async/epics/demo/demo_ad_sim_detector.py,sha256=06y65yvaqXvL2rDocjYyLz9kTVzuwV-LeuPhEfExdOA,944
50
52
  ophyd_async/epics/demo/mover.db,sha256=RFz0rxZue689Wh1sWTZwWeFMUrH04ttPq2u5xJH_Fp4,998
51
53
  ophyd_async/epics/demo/sensor.db,sha256=AVtiydrdtwAz2EFurO2Ult9SSRtre3r0akOBbL98LT0,554
52
54
  ophyd_async/epics/motion/__init__.py,sha256=tnmVRIwKa9PdN_xonJdAUD04UpEceh-hoD7XI62yDB0,46
53
- ophyd_async/epics/motion/motor.py,sha256=_670QAtrD4ZJI41inTOPEBEPxWviJH1iflI1-KLHz30,3745
55
+ ophyd_async/epics/motion/motor.py,sha256=9sWF2oawtKLL1JZIT8FZc8WtKhrZVKfmwgyQv0x48B4,3826
54
56
  ophyd_async/epics/pvi/__init__.py,sha256=TbOQNY4enQWgtr1T7x129vpo2p7FIFlr8cyZqqv5Lk4,158
55
- ophyd_async/epics/pvi/pvi.py,sha256=hpn7GeO0xk_-UDoy42LIsi0adER9IZO3HPP2iu6Nmu4,11320
57
+ ophyd_async/epics/pvi/pvi.py,sha256=5Hd9BkULbVv9mCmEn3LFafs2oz77xqlGHn-X48nJ-4o,11331
56
58
  ophyd_async/epics/signal/__init__.py,sha256=wb93RTqvSbGKVFQj8OHykbVLGLmwKHU72oi5xYu2UaY,188
57
59
  ophyd_async/epics/signal/_epics_transport.py,sha256=DEIL0iYUAWssysVEgWGu1fHSM1l-ATV2kjUgPtDN9LY,858
58
60
  ophyd_async/epics/signal/signal.py,sha256=M8ZVG_zLdYJfroCRX-u_w8c3yIhswSRw8e3RkW2szio,3166
59
61
  ophyd_async/panda/__init__.py,sha256=ZaD1nRgGKAGFGdpP1WWF-FnX3wcGuYqqq0QRZbaSBYQ,692
60
62
  ophyd_async/panda/_common_blocks.py,sha256=n0PPc1rar43oDSIA-yNubTc8fR5YCW1tyjQU58whsg0,1038
61
- ophyd_async/panda/_hdf_panda.py,sha256=zZxIdNIXHwjlZA-HTezQNfcCh98P2Pst6Pcld92rPLM,1414
63
+ ophyd_async/panda/_hdf_panda.py,sha256=QjfZyYos0ZBlIqBiZ5UbyEd_wuh_cGzwV8QE9jvLiIY,1419
62
64
  ophyd_async/panda/_panda_controller.py,sha256=dIqcjmaIHVrki8UXSoDx46kk6I2Lhpe2o3sXNg5f-RQ,1238
63
65
  ophyd_async/panda/_table.py,sha256=dLoRP4zYNOkD_s0Vkp2wVYAwkjVG8nNdf8-FaXOTfPo,5655
64
66
  ophyd_async/panda/_trigger.py,sha256=tBH8uq_4o1ASG9yofVxq3tjf5v8LPzniDTRL4yjramI,1195
@@ -69,15 +71,15 @@ ophyd_async/panda/writers/_panda_hdf_file.py,sha256=42iHaTax4JjOBpNC7d4nkNL9SM14
69
71
  ophyd_async/planstubs/__init__.py,sha256=G9B80_d87lnOThUsGbAYPqzMw9xDelq2TbS7dkB692o,188
70
72
  ophyd_async/planstubs/prepare_trigger_and_dets.py,sha256=0c4XDAxVkSanyDKtaMda0VgPEbk2jM0geVzAx707DhI,1772
71
73
  ophyd_async/sim/__init__.py,sha256=ScjH1g7FMo5yPACfJRZE6xGBWCHU4bKDzNQk1tqObnA,366
72
- ophyd_async/sim/pattern_generator.py,sha256=cnHL9PEDrN1BTomLhGgPTWTnQIswNuYpU8AE9I1wi3g,10634
74
+ ophyd_async/sim/pattern_generator.py,sha256=pvSk2zb82D08j2jiKAMqMAfRohGnYd_rpjUraLrCD6c,10640
73
75
  ophyd_async/sim/sim_pattern_detector_control.py,sha256=Ypz8IuRYAY2J243IhVbNyGr_Z-XtpJZ1qxma6NR3TgM,1838
74
76
  ophyd_async/sim/sim_pattern_detector_writer.py,sha256=ESpcVyHd1TP7Cojznv2hJAwLinu3XbgAiVKfX12FCII,1237
75
77
  ophyd_async/sim/sim_pattern_generator.py,sha256=fbcwWxTPYKLK33OzIY15vGylnonOO8HIudz1y_56GZU,1336
76
78
  ophyd_async/sim/demo/__init__.py,sha256=9mxKpslrL89cfSj4g3og8Br3O--pMj3hhWZS-Xu6kyA,56
77
- ophyd_async/sim/demo/sim_motor.py,sha256=uiMPV76JkFEVJkejECdpUNBygauaoPp11Ynb0N1TrD0,4075
78
- ophyd_async-0.3a3.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
79
- ophyd_async-0.3a3.dist-info/METADATA,sha256=Iw5ewVCui6t0KJzvVsbZbiMKu8V4WOwoNAFQ4fQtd1w,6301
80
- ophyd_async-0.3a3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
81
- ophyd_async-0.3a3.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
82
- ophyd_async-0.3a3.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
83
- ophyd_async-0.3a3.dist-info/RECORD,,
79
+ ophyd_async/sim/demo/sim_motor.py,sha256=knpfyrqeNr7HnlV54TQGUr3pLnDyg84vfj_4vKB9UYc,4065
80
+ ophyd_async-0.3a4.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
81
+ ophyd_async-0.3a4.dist-info/METADATA,sha256=wPoVN6LuWFSMlFzEaAriOPfJD-XncaJHVzpao8HUBlg,6284
82
+ ophyd_async-0.3a4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
83
+ ophyd_async-0.3a4.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
84
+ ophyd_async-0.3a4.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
85
+ ophyd_async-0.3a4.dist-info/RECORD,,