ophyd-async 0.4.0__py3-none-any.whl → 0.5.1__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 (95) hide show
  1. ophyd_async/_version.py +2 -2
  2. ophyd_async/core/__init__.py +86 -73
  3. ophyd_async/core/{detector.py → _detector.py} +42 -36
  4. ophyd_async/core/{device.py → _device.py} +1 -1
  5. ophyd_async/core/{device_save_loader.py → _device_save_loader.py} +3 -3
  6. ophyd_async/core/{flyer.py → _flyer.py} +6 -8
  7. ophyd_async/{epics/areadetector/writers/general_hdffile.py → core/_hdf_dataset.py} +4 -8
  8. ophyd_async/{log.py → core/_log.py} +11 -3
  9. ophyd_async/core/{mock_signal_backend.py → _mock_signal_backend.py} +3 -3
  10. ophyd_async/core/{mock_signal_utils.py → _mock_signal_utils.py} +7 -7
  11. ophyd_async/{protocols.py → core/_protocol.py} +1 -1
  12. ophyd_async/core/_providers.py +24 -37
  13. ophyd_async/core/{standard_readable.py → _readable.py} +6 -16
  14. ophyd_async/core/{signal.py → _signal.py} +79 -35
  15. ophyd_async/core/{signal_backend.py → _signal_backend.py} +4 -13
  16. ophyd_async/core/{soft_signal_backend.py → _soft_signal_backend.py} +3 -12
  17. ophyd_async/core/{async_status.py → _status.py} +3 -11
  18. ophyd_async/epics/adaravis/__init__.py +9 -0
  19. ophyd_async/epics/{areadetector/aravis.py → adaravis/_aravis.py} +9 -11
  20. ophyd_async/epics/{areadetector/controllers/aravis_controller.py → adaravis/_aravis_controller.py} +7 -10
  21. ophyd_async/epics/{areadetector/drivers/aravis_driver.py → adaravis/_aravis_io.py} +6 -3
  22. ophyd_async/epics/adcore/__init__.py +47 -0
  23. ophyd_async/epics/adcore/_core_io.py +138 -0
  24. ophyd_async/epics/{areadetector/drivers/ad_base.py → adcore/_core_logic.py} +16 -52
  25. ophyd_async/epics/{areadetector/writers/hdf_writer.py → adcore/_hdf_writer.py} +54 -29
  26. ophyd_async/epics/{areadetector/single_trigger_det.py → adcore/_single_trigger.py} +5 -6
  27. ophyd_async/epics/adcore/_utils.py +132 -0
  28. ophyd_async/epics/adkinetix/__init__.py +9 -0
  29. ophyd_async/epics/{areadetector/kinetix.py → adkinetix/_kinetix.py} +9 -11
  30. ophyd_async/epics/{areadetector/controllers/kinetix_controller.py → adkinetix/_kinetix_controller.py} +6 -9
  31. ophyd_async/epics/{areadetector/drivers/kinetix_driver.py → adkinetix/_kinetix_io.py} +9 -5
  32. ophyd_async/epics/adpilatus/__init__.py +11 -0
  33. ophyd_async/epics/{areadetector/pilatus.py → adpilatus/_pilatus.py} +10 -14
  34. ophyd_async/epics/{areadetector/controllers/pilatus_controller.py → adpilatus/_pilatus_controller.py} +15 -17
  35. ophyd_async/epics/{areadetector/drivers/pilatus_driver.py → adpilatus/_pilatus_io.py} +6 -4
  36. ophyd_async/epics/adsimdetector/__init__.py +7 -0
  37. ophyd_async/epics/{demo/demo_ad_sim_detector.py → adsimdetector/_sim.py} +10 -11
  38. ophyd_async/epics/{areadetector/controllers/ad_sim_controller.py → adsimdetector/_sim_controller.py} +8 -14
  39. ophyd_async/epics/advimba/__init__.py +9 -0
  40. ophyd_async/epics/{areadetector/vimba.py → advimba/_vimba.py} +9 -9
  41. ophyd_async/epics/{areadetector/controllers/vimba_controller.py → advimba/_vimba_controller.py} +9 -17
  42. ophyd_async/epics/{areadetector/drivers/vimba_driver.py → advimba/_vimba_io.py} +11 -8
  43. ophyd_async/epics/demo/__init__.py +9 -132
  44. ophyd_async/epics/demo/_mover.py +97 -0
  45. ophyd_async/epics/demo/_sensor.py +36 -0
  46. ophyd_async/epics/{motion/motor.py → motor.py} +28 -14
  47. ophyd_async/epics/pvi/__init__.py +2 -2
  48. ophyd_async/epics/pvi/{pvi.py → _pvi.py} +17 -14
  49. ophyd_async/epics/signal/__init__.py +7 -1
  50. ophyd_async/epics/{_backend → signal}/_aioca.py +15 -7
  51. ophyd_async/epics/{_backend/common.py → signal/_common.py} +2 -2
  52. ophyd_async/epics/signal/_epics_transport.py +3 -3
  53. ophyd_async/epics/{_backend → signal}/_p4p.py +18 -14
  54. ophyd_async/epics/signal/{signal.py → _signal.py} +10 -9
  55. ophyd_async/fastcs/odin/__init__.py +0 -0
  56. ophyd_async/{panda → fastcs/panda}/__init__.py +20 -15
  57. ophyd_async/{panda/_common_blocks.py → fastcs/panda/_block.py} +5 -3
  58. ophyd_async/{panda/_panda_controller.py → fastcs/panda/_control.py} +2 -1
  59. ophyd_async/{panda → fastcs/panda}/_hdf_panda.py +5 -10
  60. ophyd_async/{panda → fastcs/panda}/_trigger.py +3 -7
  61. ophyd_async/{panda/writers/_hdf_writer.py → fastcs/panda/_writer.py} +36 -28
  62. ophyd_async/plan_stubs/__init__.py +5 -2
  63. ophyd_async/plan_stubs/{ensure_connected.py → _ensure_connected.py} +1 -2
  64. ophyd_async/plan_stubs/{fly.py → _fly.py} +13 -9
  65. ophyd_async/plan_stubs/_nd_attributes.py +63 -0
  66. ophyd_async/sim/__init__.py +0 -11
  67. ophyd_async/sim/demo/__init__.py +18 -2
  68. ophyd_async/sim/demo/_pattern_detector/__init__.py +13 -0
  69. ophyd_async/sim/{sim_pattern_generator.py → demo/_pattern_detector/_pattern_detector.py} +8 -8
  70. ophyd_async/sim/{sim_pattern_detector_control.py → demo/_pattern_detector/_pattern_detector_controller.py} +9 -7
  71. ophyd_async/sim/{sim_pattern_detector_writer.py → demo/_pattern_detector/_pattern_detector_writer.py} +4 -4
  72. ophyd_async/sim/{pattern_generator.py → demo/_pattern_detector/_pattern_generator.py} +13 -11
  73. ophyd_async/sim/demo/{sim_motor.py → _sim_motor.py} +7 -5
  74. ophyd_async/sim/testing/__init__.py +0 -0
  75. ophyd_async/tango/__init__.py +0 -0
  76. {ophyd_async-0.4.0.dist-info → ophyd_async-0.5.1.dist-info}/METADATA +46 -44
  77. ophyd_async-0.5.1.dist-info/RECORD +90 -0
  78. {ophyd_async-0.4.0.dist-info → ophyd_async-0.5.1.dist-info}/WHEEL +1 -1
  79. ophyd_async/epics/areadetector/__init__.py +0 -23
  80. ophyd_async/epics/areadetector/controllers/__init__.py +0 -5
  81. ophyd_async/epics/areadetector/drivers/__init__.py +0 -23
  82. ophyd_async/epics/areadetector/utils.py +0 -104
  83. ophyd_async/epics/areadetector/writers/__init__.py +0 -5
  84. ophyd_async/epics/areadetector/writers/nd_file_hdf.py +0 -43
  85. ophyd_async/epics/areadetector/writers/nd_plugin.py +0 -68
  86. ophyd_async/epics/motion/__init__.py +0 -3
  87. ophyd_async/panda/writers/__init__.py +0 -3
  88. ophyd_async-0.4.0.dist-info/RECORD +0 -84
  89. /ophyd_async/core/{utils.py → _utils.py} +0 -0
  90. /ophyd_async/{epics/_backend → fastcs}/__init__.py +0 -0
  91. /ophyd_async/{panda → fastcs/panda}/_table.py +0 -0
  92. /ophyd_async/{panda → fastcs/panda}/_utils.py +0 -0
  93. {ophyd_async-0.4.0.dist-info → ophyd_async-0.5.1.dist-info}/LICENSE +0 -0
  94. {ophyd_async-0.4.0.dist-info → ophyd_async-0.5.1.dist-info}/entry_points.txt +0 -0
  95. {ophyd_async-0.4.0.dist-info → ophyd_async-0.5.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ophyd-async
3
- Version: 0.4.0
3
+ Version: 0.5.1
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
@@ -40,59 +40,61 @@ Classifier: Programming Language :: Python :: 3.11
40
40
  Requires-Python: >=3.10
41
41
  Description-Content-Type: text/markdown
42
42
  License-File: LICENSE
43
- Requires-Dist: networkx >=2.0
44
- Requires-Dist: numpy <2.0.0
43
+ Requires-Dist: networkx>=2.0
44
+ Requires-Dist: numpy<2.0.0
45
45
  Requires-Dist: packaging
46
46
  Requires-Dist: pint
47
- Requires-Dist: bluesky >=1.13.0a3
47
+ Requires-Dist: bluesky>=1.13.0a3
48
48
  Requires-Dist: event-model
49
49
  Requires-Dist: p4p
50
50
  Requires-Dist: pyyaml
51
51
  Requires-Dist: colorlog
52
- Requires-Dist: pydantic >=2.0
52
+ Requires-Dist: pydantic>=2.0
53
53
  Requires-Dist: pydantic-numpy
54
54
  Provides-Extra: ca
55
- Requires-Dist: aioca >=1.6 ; extra == 'ca'
55
+ Requires-Dist: aioca>=1.6; extra == "ca"
56
56
  Provides-Extra: dev
57
- Requires-Dist: ophyd-async[pva] ; extra == 'dev'
58
- Requires-Dist: ophyd-async[ca] ; extra == 'dev'
59
- Requires-Dist: black ; extra == 'dev'
60
- Requires-Dist: flake8 ; extra == 'dev'
61
- Requires-Dist: flake8-isort ; extra == 'dev'
62
- Requires-Dist: Flake8-pyproject ; extra == 'dev'
63
- Requires-Dist: h5py ; extra == 'dev'
64
- Requires-Dist: inflection ; extra == 'dev'
65
- Requires-Dist: ipython ; extra == 'dev'
66
- Requires-Dist: ipywidgets ; extra == 'dev'
67
- Requires-Dist: matplotlib ; extra == 'dev'
68
- Requires-Dist: myst-parser ; extra == 'dev'
69
- Requires-Dist: numpydoc ; extra == 'dev'
70
- Requires-Dist: ophyd ; extra == 'dev'
71
- Requires-Dist: pickleshare ; extra == 'dev'
72
- Requires-Dist: pipdeptree ; extra == 'dev'
73
- Requires-Dist: pre-commit ; extra == 'dev'
74
- Requires-Dist: pydata-sphinx-theme >=0.12 ; extra == 'dev'
75
- Requires-Dist: pyepics >=3.4.2 ; extra == 'dev'
76
- Requires-Dist: pyside6 ==6.7.0 ; extra == 'dev'
77
- Requires-Dist: pytest ; extra == 'dev'
78
- Requires-Dist: pytest-asyncio ; extra == 'dev'
79
- Requires-Dist: pytest-cov ; extra == 'dev'
80
- Requires-Dist: pytest-faulthandler ; extra == 'dev'
81
- Requires-Dist: pytest-rerunfailures ; extra == 'dev'
82
- Requires-Dist: pytest-timeout ; extra == 'dev'
83
- Requires-Dist: ruff ; extra == 'dev'
84
- Requires-Dist: sphinx <7.4.0 ; extra == 'dev'
85
- Requires-Dist: sphinx-autobuild ; extra == 'dev'
86
- Requires-Dist: autodoc-pydantic ; extra == 'dev'
87
- Requires-Dist: sphinxcontrib-mermaid ; extra == 'dev'
88
- Requires-Dist: sphinx-copybutton ; extra == 'dev'
89
- Requires-Dist: sphinx-design ; extra == 'dev'
90
- Requires-Dist: super-state-machine ; extra == 'dev'
91
- Requires-Dist: tox-direct ; extra == 'dev'
92
- Requires-Dist: types-mock ; extra == 'dev'
93
- Requires-Dist: types-pyyaml ; extra == 'dev'
57
+ Requires-Dist: ophyd-async[pva]; extra == "dev"
58
+ Requires-Dist: ophyd-async[sim]; extra == "dev"
59
+ Requires-Dist: ophyd-async[ca]; extra == "dev"
60
+ Requires-Dist: black; extra == "dev"
61
+ Requires-Dist: flake8; extra == "dev"
62
+ Requires-Dist: flake8-isort; extra == "dev"
63
+ Requires-Dist: Flake8-pyproject; extra == "dev"
64
+ Requires-Dist: inflection; extra == "dev"
65
+ Requires-Dist: ipython; extra == "dev"
66
+ Requires-Dist: ipywidgets; extra == "dev"
67
+ Requires-Dist: matplotlib; extra == "dev"
68
+ Requires-Dist: myst-parser; extra == "dev"
69
+ Requires-Dist: numpydoc; extra == "dev"
70
+ Requires-Dist: ophyd; extra == "dev"
71
+ Requires-Dist: pickleshare; extra == "dev"
72
+ Requires-Dist: pipdeptree; extra == "dev"
73
+ Requires-Dist: pre-commit; extra == "dev"
74
+ Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
75
+ Requires-Dist: pyepics>=3.4.2; extra == "dev"
76
+ Requires-Dist: pyside6==6.7.0; extra == "dev"
77
+ Requires-Dist: pytest; extra == "dev"
78
+ Requires-Dist: pytest-asyncio; extra == "dev"
79
+ Requires-Dist: pytest-cov; extra == "dev"
80
+ Requires-Dist: pytest-faulthandler; extra == "dev"
81
+ Requires-Dist: pytest-rerunfailures; extra == "dev"
82
+ Requires-Dist: pytest-timeout; extra == "dev"
83
+ Requires-Dist: ruff; extra == "dev"
84
+ Requires-Dist: sphinx<7.4.0; extra == "dev"
85
+ Requires-Dist: sphinx-autobuild; extra == "dev"
86
+ Requires-Dist: autodoc-pydantic; extra == "dev"
87
+ Requires-Dist: sphinxcontrib-mermaid; extra == "dev"
88
+ Requires-Dist: sphinx-copybutton; extra == "dev"
89
+ Requires-Dist: sphinx-design; extra == "dev"
90
+ Requires-Dist: super-state-machine; extra == "dev"
91
+ Requires-Dist: tox-direct; extra == "dev"
92
+ Requires-Dist: types-mock; extra == "dev"
93
+ Requires-Dist: types-pyyaml; extra == "dev"
94
94
  Provides-Extra: pva
95
- Requires-Dist: p4p ; extra == 'pva'
95
+ Requires-Dist: p4p; extra == "pva"
96
+ Provides-Extra: sim
97
+ Requires-Dist: h5py; extra == "sim"
96
98
 
97
99
  [![CI](https://github.com/bluesky/ophyd-async/actions/workflows/ci.yml/badge.svg)](https://github.com/bluesky/ophyd-async/actions/workflows/ci.yml)
98
100
  [![Coverage](https://codecov.io/gh/bluesky/ophyd-async/branch/main/graph/badge.svg)](https://codecov.io/gh/bluesky/ophyd-async)
@@ -0,0 +1,90 @@
1
+ ophyd_async/__init__.py,sha256=v-rRiDOgZ3sQSMQKq0vgUQZvpeOkoHFXissAx6Ktg84,61
2
+ ophyd_async/__main__.py,sha256=G-Zcv_G9zK7Nhx6o5L5w-wyhMxdl_WgyMELu8IMFqAE,328
3
+ ophyd_async/_version.py,sha256=8W5N0WKS0YIWUpfry5TouisDYjsMUIZ7Vc0crGGGQQU,411
4
+ ophyd_async/core/__init__.py,sha256=avd3aVLO3CPq09h0cKon5QMew7RvtbWtmo2rOagFdkA,3745
5
+ ophyd_async/core/_detector.py,sha256=n5MKTVAzTHVUWH5ZMxcSq7u4qP2nAGemaPyGrPAZQq4,11811
6
+ ophyd_async/core/_device.py,sha256=DDdRujYLCDSuGDB0gqElkzI0qEGb3sMlFP6FgmH2u3A,7554
7
+ ophyd_async/core/_device_save_loader.py,sha256=pTom5EOFa9_5Z3bV37zOnbGx2ujWIOl_D9PVYhpY1FY,8232
8
+ ophyd_async/core/_flyer.py,sha256=8_N9u6s2P9qPZmNtHFfdmFv8FD7sKrKb9-IuvNUVHPw,2267
9
+ ophyd_async/core/_hdf_dataset.py,sha256=H3fFzsnLc7BwPgmDP7P9emQ5u6f0GFQ16Myj6qWxQq0,2430
10
+ ophyd_async/core/_log.py,sha256=Hsk2Iwx81n3HpxNR30xGTnLJh_lPGd_CGy2MI3OGpWs,3588
11
+ ophyd_async/core/_mock_signal_backend.py,sha256=M_I2LxxJrJmBAbmILjVoAR6E2U8K2UswvHGiHluMqHc,2799
12
+ ophyd_async/core/_mock_signal_utils.py,sha256=LTrmjQTqvP4yY2bsaOmfLNJAegD850_BNZ6Y8uY5XPQ,4717
13
+ ophyd_async/core/_protocol.py,sha256=aRoqet0ThyVK_wrULh4k_StnpeHnNhXc0YffWdRJNZw,3391
14
+ ophyd_async/core/_providers.py,sha256=gCkzLcoXYy2as4CAlLzoA6RzvrYAVIamgRpLsV708ro,7033
15
+ ophyd_async/core/_readable.py,sha256=WayM35JOJj732-YgvGsjUSlCZwZ_zq1zbAmk-1U0uwU,8998
16
+ ophyd_async/core/_signal.py,sha256=38whsWlm4Wo7r7Beh_i0OJ4iqtJNR5TIGtS7_uZ736Y,19610
17
+ ophyd_async/core/_signal_backend.py,sha256=-Vze8-57W0jpcC4gq4P4rZpXXJvi2qrbu0A8AjqA594,2638
18
+ ophyd_async/core/_soft_signal_backend.py,sha256=Z4LiADd9xKrxhhPOx8q5xq4yrJRdJbfuKeB0o2wBjCk,6653
19
+ ophyd_async/core/_status.py,sha256=mjzoGyaMFCfQLIWNKv_VcuCz9unZ9Gs3nCkaa1dTne8,4334
20
+ ophyd_async/core/_utils.py,sha256=3oZcXNqAUHX4ZWMBH5gSuK6cFWEhSkZ9GSDYv0pf8jc,5783
21
+ ophyd_async/epics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ ophyd_async/epics/motor.py,sha256=na1WmomnPsFVYTMJwL0ViFjay1UaepeXprKKAJc7pdk,8771
23
+ ophyd_async/epics/adaravis/__init__.py,sha256=u979_9nQTYB0TvDOTXFN4qMrbDP8-xQFfXYMGzLVBo4,207
24
+ ophyd_async/epics/adaravis/_aravis.py,sha256=f2xiKQr1AcX6R-NjaMMgfXBfbHIsYfDGp4-CyHKIT6I,1949
25
+ ophyd_async/epics/adaravis/_aravis_controller.py,sha256=SzyajBNoqvBOUVtNE0t8ghffY2pYP8U99XgQ-4u2pVI,2635
26
+ ophyd_async/epics/adaravis/_aravis_io.py,sha256=GY2thPUJ-6821GvfZTBLoX8g9d-U1YgyoXe3wYRVw-g,1554
27
+ ophyd_async/epics/adcore/__init__.py,sha256=krbCmdOoW2eIbFCztDe1MAlsIyO6vHEcFwkH8DPmy98,1080
28
+ ophyd_async/epics/adcore/_core_io.py,sha256=F4TlnWW0ntAekZlr8qxCpKhFyEThSgjYQCOoKOg4DN8,5918
29
+ ophyd_async/epics/adcore/_core_logic.py,sha256=XpM1t2kqof9q_7fkKlFPKP2vT0DoLgc0drj7cTUHsbU,3421
30
+ ophyd_async/epics/adcore/_hdf_writer.py,sha256=YBQRQJN6Ep62SaAz7zW_9pX7IPwsmqiuNxMuLQwV8sA,6870
31
+ ophyd_async/epics/adcore/_single_trigger.py,sha256=LGhAZV0GoRwRTNFQmgLpkfq73HsiMCu20JKYGOzxt0I,1159
32
+ ophyd_async/epics/adcore/_utils.py,sha256=A5AUQIfdbzLgF7A4V-1TSoPD6Kvgs4sbZBGOV7zb8SY,3909
33
+ ophyd_async/epics/adkinetix/__init__.py,sha256=QEft12PURied6LRzjw-NhUmngjAm1XNA3k-5o5aMXDQ,216
34
+ ophyd_async/epics/adkinetix/_kinetix.py,sha256=Xnt54pqxWArcBIZ8RdLMXfMX0kCDCInJQp48MMx6Gmw,1181
35
+ ophyd_async/epics/adkinetix/_kinetix_controller.py,sha256=jHe6MSfqCOdzw0jQ5L6cYq55I0TD5Bso2ZGOZmv1j3Q,1504
36
+ ophyd_async/epics/adkinetix/_kinetix_io.py,sha256=AbCoYliAobU3I6z3NaswQnExwGTgV458zF3uwkBEQPc,893
37
+ ophyd_async/epics/adpilatus/__init__.py,sha256=daimScOCCMHR2eb8VbezHOcGOkd6uIRZQiyeTQsaAx4,308
38
+ ophyd_async/epics/adpilatus/_pilatus.py,sha256=NEim_ZROa-B0uYXYgLiiAIDzqzl-IjSCqpOrosOvcHk,1748
39
+ ophyd_async/epics/adpilatus/_pilatus_controller.py,sha256=1GfzcnhwLam8fAhf889lPz2rrn9mWDaGO3BIELP3R50,2450
40
+ ophyd_async/epics/adpilatus/_pilatus_io.py,sha256=WB_N2RRpcFCFI6i57PRqjIdpK6hzLpWxn71cWUHUZnc,722
41
+ ophyd_async/epics/adsimdetector/__init__.py,sha256=t3crUgTEvVJGI8o6FsfN42k0A-l4v9ZBwXIYtixoE-M,128
42
+ ophyd_async/epics/adsimdetector/_sim.py,sha256=nk4Xj_j_WeKk1FJov-Zo2W7NHnHcBUDbIzranHUpngI,863
43
+ ophyd_async/epics/adsimdetector/_sim_controller.py,sha256=v0GrMXg7U1PUvLKW8zmx8zrunk_MfFt7GbckbVlnUys,1494
44
+ ophyd_async/epics/advimba/__init__.py,sha256=GSnFWGPNJsCJZ-Tgyv-L38Smwzp2bWC64U_4uD2TLvs,198
45
+ ophyd_async/epics/advimba/_vimba.py,sha256=qDLP5KcI0PZGgpMVmzkfxfgIt3hoiqpvNlRGrtEZxl4,1122
46
+ ophyd_async/epics/advimba/_vimba_controller.py,sha256=JvQ4M2IdixDI6TXNHSqUs0sX3ncgosecuLmT8bYhU9w,2003
47
+ ophyd_async/epics/advimba/_vimba_io.py,sha256=nf1BdIWey4RR7KuqyZhH6X5yB8Msg0oOtkVLOuwn6Uc,1843
48
+ ophyd_async/epics/demo/__init__.py,sha256=wCrgemEo-zR4TTvaqCKnQ-AIUHorotV5jhftbq1tXz0,1368
49
+ ophyd_async/epics/demo/_mover.py,sha256=7GEmF-mgN0qxiHUE3Tgboh0p9S5AuPBYR-pFeg5QFTk,3520
50
+ ophyd_async/epics/demo/_sensor.py,sha256=8OyFAsB3EXMzrQreOIg_TGHrseUtI5rxXpfwwUaC76I,1165
51
+ ophyd_async/epics/demo/mover.db,sha256=RFz0rxZue689Wh1sWTZwWeFMUrH04ttPq2u5xJH_Fp4,998
52
+ ophyd_async/epics/demo/sensor.db,sha256=AVtiydrdtwAz2EFurO2Ult9SSRtre3r0akOBbL98LT0,554
53
+ ophyd_async/epics/pvi/__init__.py,sha256=ZvJO69ApL7N9rWT9-hD-JZMC_KsHxgeEqxe-01jNUVw,137
54
+ ophyd_async/epics/pvi/_pvi.py,sha256=PUst4KhX8emkbRunLrJeqTruaOMF3mm1s7YJsBB7HpQ,12099
55
+ ophyd_async/epics/signal/__init__.py,sha256=cJGvTnJxHNzpWyWIYXU4UGMoz3uqZ88UVXNvG-TGngo,441
56
+ ophyd_async/epics/signal/_aioca.py,sha256=8I3CFNtHWsxDe1DC95VGAITR6hKaW03L_8pBnvdF4-A,11764
57
+ ophyd_async/epics/signal/_common.py,sha256=v8nHeAZcdrAtqwzHDOia03HAhPL0zEP-4qhg4DwK8vY,1867
58
+ ophyd_async/epics/signal/_epics_transport.py,sha256=MnkhnbpYSxrS7Wo8jDJ1YGnkrvjfYEt1oOe-uxjGCPU,839
59
+ ophyd_async/epics/signal/_p4p.py,sha256=cvzj6VD3mK-tns1nH8ZukgpvHo1ULMbUc8Qg-B6drBQ,15981
60
+ ophyd_async/epics/signal/_signal.py,sha256=i5q7zTv5y3HFQRI1JrwWT-gN6bViPWNuks14le2pTFI,3252
61
+ ophyd_async/fastcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ ophyd_async/fastcs/odin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ ophyd_async/fastcs/panda/__init__.py,sha256=IHVn0wHsCuvQLdgKTRyr1F8-Ol81ImuEx_JJZpfPUv0,1166
64
+ ophyd_async/fastcs/panda/_block.py,sha256=ElnwPg0HEx7gToB6l_0o-Pf2foIQaCdVi69VFYxr-RA,1614
65
+ ophyd_async/fastcs/panda/_control.py,sha256=Xwes9eRlR4WgTEtQy9LmnQjk596qxAdw33AFxMDF9Rg,1229
66
+ ophyd_async/fastcs/panda/_hdf_panda.py,sha256=ty-mc5c8z-OcX0zXt5ymlCeqE1G5_UYAEhOmNUv0f_M,1309
67
+ ophyd_async/fastcs/panda/_table.py,sha256=atd9wiam0XQH89doqzn0U6J42CFQBKDs9K1_q5GcJR8,6093
68
+ ophyd_async/fastcs/panda/_trigger.py,sha256=f7VqYCdXYoT2JyPovXdeYUC0SdWFFcSnVVdUHRd0OO0,3054
69
+ ophyd_async/fastcs/panda/_utils.py,sha256=VHW5kPVISyEkmse_qQcyisBkkEwMO6GG2Ago-CH1AFA,487
70
+ ophyd_async/fastcs/panda/_writer.py,sha256=1WSoxUPfMIprcShccjZtsnSVLJwKOCcxsBw8FIemlBk,5326
71
+ ophyd_async/plan_stubs/__init__.py,sha256=wjpEj_BoBZJ9x2fhUPY6BzWMqyYH96JrBlJvV7frdN4,524
72
+ ophyd_async/plan_stubs/_ensure_connected.py,sha256=6Q7_UWQ-UQ0awe6mnN4PdNCAOGRm4GZR9X2M-ghQCeI,711
73
+ ophyd_async/plan_stubs/_fly.py,sha256=PWT7cbnVUDBFtjKkMQ7Lr960M9d0JcUBseXFYhzBc8I,6299
74
+ ophyd_async/plan_stubs/_nd_attributes.py,sha256=r7Ly2fPIklOJGIHw0uoWl4gOsIfP5Df6dg_tU__hUSE,1986
75
+ ophyd_async/sim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ ophyd_async/sim/demo/__init__.py,sha256=JKWFnHqmFuRRMvvU0aBuclke3OdF0iq89yvHEd4J7Bg,371
77
+ ophyd_async/sim/demo/_sim_motor.py,sha256=Dfc-1faeqbVLsCLuM2FFJ2F20Ib0UsS2vsHdqgVt2Zk,3601
78
+ ophyd_async/sim/demo/_pattern_detector/__init__.py,sha256=o_dSZDIl_CyS3YPSNKpGiQiR9UaC4cNzZ8_ByEN9dIk,402
79
+ ophyd_async/sim/demo/_pattern_detector/_pattern_detector.py,sha256=5PH9vZ0vLhhvzN1H-7HUcaNUOQ---9i0GEBKY_luRTI,1278
80
+ ophyd_async/sim/demo/_pattern_detector/_pattern_detector_controller.py,sha256=JjgCiX1CO284ykwzutdp0whqehHPqi83akiAyL7CqmY,1800
81
+ ophyd_async/sim/demo/_pattern_detector/_pattern_detector_writer.py,sha256=ayJJ2Y0rqM7gIEtxhH4-iRnYi0RQTaEWFIHUJd2W27Y,1280
82
+ ophyd_async/sim/demo/_pattern_detector/_pattern_generator.py,sha256=KRB8y3rwoaemeQx4ewoFO7CCTHtvokWe4zTE0Rg3K0Q,7176
83
+ ophyd_async/sim/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ ophyd_async/tango/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ ophyd_async-0.5.1.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
86
+ ophyd_async-0.5.1.dist-info/METADATA,sha256=iU7ylsJXDvQ829UX8Q6-2UUUNnu_9wMTP5NirO23HF0,6511
87
+ ophyd_async-0.5.1.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
88
+ ophyd_async-0.5.1.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
89
+ ophyd_async-0.5.1.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
90
+ ophyd_async-0.5.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.3.0)
2
+ Generator: setuptools (74.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,23 +0,0 @@
1
- from .aravis import AravisDetector
2
- from .kinetix import KinetixDetector
3
- from .pilatus import PilatusDetector
4
- from .single_trigger_det import SingleTriggerDet
5
- from .utils import (
6
- FileWriteMode,
7
- ImageMode,
8
- NDAttributeDataType,
9
- NDAttributesXML,
10
- )
11
- from .vimba import VimbaDetector
12
-
13
- __all__ = [
14
- "AravisDetector",
15
- "KinetixDetector",
16
- "VimbaDetector",
17
- "SingleTriggerDet",
18
- "FileWriteMode",
19
- "ImageMode",
20
- "NDAttributeDataType",
21
- "NDAttributesXML",
22
- "PilatusDetector",
23
- ]
@@ -1,5 +0,0 @@
1
- from .ad_sim_controller import ADSimController
2
- from .aravis_controller import AravisController
3
- from .pilatus_controller import PilatusController
4
-
5
- __all__ = ["PilatusController", "ADSimController", "AravisController"]
@@ -1,23 +0,0 @@
1
- from .ad_base import (
2
- ADBase,
3
- ADBaseShapeProvider,
4
- DetectorState,
5
- set_exposure_time_and_acquire_period_if_supplied,
6
- start_acquiring_driver_and_ensure_status,
7
- )
8
- from .aravis_driver import AravisDriver
9
- from .kinetix_driver import KinetixDriver
10
- from .pilatus_driver import PilatusDriver
11
- from .vimba_driver import VimbaDriver
12
-
13
- __all__ = [
14
- "ADBase",
15
- "ADBaseShapeProvider",
16
- "PilatusDriver",
17
- "AravisDriver",
18
- "KinetixDriver",
19
- "VimbaDriver",
20
- "start_acquiring_driver_and_ensure_status",
21
- "set_exposure_time_and_acquire_period_if_supplied",
22
- "DetectorState",
23
- ]
@@ -1,104 +0,0 @@
1
- from enum import Enum
2
- from typing import Optional
3
- from xml.etree import cElementTree as ET
4
-
5
- from ophyd_async.core import DEFAULT_TIMEOUT, SignalRW, T, wait_for_value
6
-
7
-
8
- class FileWriteMode(str, Enum):
9
- single = "Single"
10
- capture = "Capture"
11
- stream = "Stream"
12
-
13
-
14
- class ImageMode(str, Enum):
15
- single = "Single"
16
- multiple = "Multiple"
17
- continuous = "Continuous"
18
-
19
-
20
- class NDAttributeDataType(str, Enum):
21
- INT = "INT"
22
- DOUBLE = "DOUBLE"
23
- STRING = "STRING"
24
-
25
-
26
- class NDAttributesXML:
27
- """Helper to make NDAttributesFile XML for areaDetector"""
28
-
29
- _dbr_types = {
30
- None: "DBR_NATIVE",
31
- NDAttributeDataType.INT: "DBR_LONG",
32
- NDAttributeDataType.DOUBLE: "DBR_DOUBLE",
33
- NDAttributeDataType.STRING: "DBR_STRING",
34
- }
35
-
36
- def __init__(self):
37
- self._root = ET.Element("Attributes")
38
-
39
- def add_epics_pv(
40
- self,
41
- name: str,
42
- pv: str,
43
- datatype: Optional[NDAttributeDataType] = None,
44
- description: str = "",
45
- ):
46
- """Add a PV to the attribute list
47
-
48
- Args:
49
- name: The attribute name
50
- pv: The pv to get from
51
- datatype: An override datatype, otherwise will use native EPICS type
52
- description: A description that appears in the HDF file as an attribute
53
- """
54
- ET.SubElement(
55
- self._root,
56
- "Attribute",
57
- name=name,
58
- type="EPICS_PV",
59
- source=pv,
60
- datatype=self._dbr_types[datatype],
61
- description=description,
62
- )
63
-
64
- def add_param(
65
- self,
66
- name: str,
67
- param: str,
68
- datatype: NDAttributeDataType,
69
- addr: int = 0,
70
- description: str = "",
71
- ):
72
- """Add a driver or plugin parameter to the attribute list
73
-
74
- Args:
75
- name: The attribute name
76
- param: The parameter string as seen in the INP link of the record
77
- datatype: The datatype of the parameter
78
- description: A description that appears in the HDF file as an attribute
79
- """
80
- ET.SubElement(
81
- self._root,
82
- "Attribute",
83
- name=name,
84
- type="PARAM",
85
- source=param,
86
- addr=str(addr),
87
- datatype=datatype.value,
88
- description=description,
89
- )
90
-
91
- def __str__(self) -> str:
92
- """Output the XML pretty printed"""
93
- ET.indent(self._root, space=" ", level=0)
94
- return ET.tostring(self._root, xml_declaration=True, encoding="utf-8").decode()
95
-
96
-
97
- async def stop_busy_record(
98
- signal: SignalRW[T],
99
- value: T,
100
- timeout: float = DEFAULT_TIMEOUT,
101
- status_timeout: Optional[float] = None,
102
- ) -> None:
103
- await signal.set(value, wait=False, timeout=status_timeout)
104
- await wait_for_value(signal, value, timeout=timeout)
@@ -1,5 +0,0 @@
1
- from .hdf_writer import HDFWriter
2
- from .nd_file_hdf import NDFileHDF
3
- from .nd_plugin import ADBaseDataType, NDPluginBase, NDPluginStats
4
-
5
- __all__ = ["HDFWriter", "NDFileHDF", "NDPluginBase", "NDPluginStats", "ADBaseDataType"]
@@ -1,43 +0,0 @@
1
- from enum import Enum
2
-
3
- from ...signal.signal import epics_signal_r, epics_signal_rw, epics_signal_rw_rbv
4
- from ..utils import FileWriteMode
5
- from .nd_plugin import NDPluginBase
6
-
7
-
8
- class Compression(str, Enum):
9
- none = "None"
10
- nbit = "N-bit"
11
- szip = "szip"
12
- zlib = "zlib"
13
- blosc = "Blosc"
14
- bslz4 = "BSLZ4"
15
- lz4 = "LZ4"
16
- jpeg = "JPEG"
17
-
18
-
19
- class NDFileHDF(NDPluginBase):
20
- def __init__(self, prefix: str, name="") -> None:
21
- # Define some signals
22
- self.position_mode = epics_signal_rw_rbv(bool, prefix + "PositionMode")
23
- self.compression = epics_signal_rw_rbv(Compression, prefix + "Compression")
24
- self.num_extra_dims = epics_signal_rw_rbv(int, prefix + "NumExtraDims")
25
- self.file_path = epics_signal_rw_rbv(str, prefix + "FilePath")
26
- self.file_name = epics_signal_rw_rbv(str, prefix + "FileName")
27
- self.file_path_exists = epics_signal_r(bool, prefix + "FilePathExists_RBV")
28
- self.file_template = epics_signal_rw_rbv(str, prefix + "FileTemplate")
29
- self.full_file_name = epics_signal_r(str, prefix + "FullFileName_RBV")
30
- self.file_write_mode = epics_signal_rw_rbv(
31
- FileWriteMode, prefix + "FileWriteMode"
32
- )
33
- self.num_capture = epics_signal_rw_rbv(int, prefix + "NumCapture")
34
- self.num_captured = epics_signal_r(int, prefix + "NumCaptured_RBV")
35
- self.swmr_mode = epics_signal_rw_rbv(bool, prefix + "SWMRMode")
36
- self.lazy_open = epics_signal_rw_rbv(bool, prefix + "LazyOpen")
37
- self.capture = epics_signal_rw_rbv(bool, prefix + "Capture")
38
- self.flush_now = epics_signal_rw(bool, prefix + "FlushNow")
39
- self.xml_file_name = epics_signal_rw_rbv(str, prefix + "XMLFileName")
40
- self.array_size0 = epics_signal_r(int, prefix + "ArraySize0")
41
- self.array_size1 = epics_signal_r(int, prefix + "ArraySize1")
42
- self.create_dir_depth = epics_signal_rw(int, prefix + "CreateDirectory")
43
- super().__init__(prefix, name)
@@ -1,68 +0,0 @@
1
- from enum import Enum
2
-
3
- from ophyd_async.core import Device
4
- from ophyd_async.epics.signal import epics_signal_rw
5
- from ophyd_async.epics.signal.signal import epics_signal_r, epics_signal_rw_rbv
6
-
7
-
8
- class Callback(str, Enum):
9
- Enable = "Enable"
10
- Disable = "Disable"
11
-
12
-
13
- class ADBaseDataType(str, Enum):
14
- Int8 = "Int8"
15
- UInt8 = "UInt8"
16
- Int16 = "Int16"
17
- UInt16 = "UInt16"
18
- Int32 = "Int32"
19
- UInt32 = "UInt32"
20
- Int64 = "Int64"
21
- UInt64 = "UInt64"
22
- Float32 = "Float32"
23
- Float64 = "Float64"
24
-
25
-
26
- def convert_ad_dtype_to_np(ad_dtype: ADBaseDataType) -> str:
27
- ad_dtype_to_np_dtype = {
28
- ADBaseDataType.Int8: "|i1",
29
- ADBaseDataType.UInt8: "|u1",
30
- ADBaseDataType.Int16: "<i2",
31
- ADBaseDataType.UInt16: "<u2",
32
- ADBaseDataType.Int32: "<i4",
33
- ADBaseDataType.UInt32: "<u4",
34
- ADBaseDataType.Int64: "<i8",
35
- ADBaseDataType.UInt64: "<u8",
36
- ADBaseDataType.Float32: "<f4",
37
- ADBaseDataType.Float64: "<f8",
38
- }
39
- return ad_dtype_to_np_dtype[ad_dtype]
40
-
41
-
42
- class NDArrayBase(Device):
43
- def __init__(self, prefix: str, name: str = "") -> None:
44
- self.unique_id = epics_signal_r(int, prefix + "UniqueId_RBV")
45
- self.nd_attributes_file = epics_signal_rw(str, prefix + "NDAttributesFile")
46
- self.acquire = epics_signal_rw_rbv(bool, prefix + "Acquire")
47
- self.array_size_x = epics_signal_r(int, prefix + "ArraySizeX_RBV")
48
- self.array_size_y = epics_signal_r(int, prefix + "ArraySizeY_RBV")
49
- self.data_type = epics_signal_r(ADBaseDataType, prefix + "NDDataType_RBV")
50
- self.array_counter = epics_signal_rw_rbv(int, prefix + "ArrayCounter")
51
- # There is no _RBV for this one
52
- self.wait_for_plugins = epics_signal_rw(bool, prefix + "WaitForPlugins")
53
-
54
- super().__init__(name=name)
55
-
56
-
57
- class NDPluginBase(NDArrayBase):
58
- def __init__(self, prefix: str, name: str = "") -> None:
59
- self.nd_array_port = epics_signal_rw_rbv(str, prefix + "NDArrayPort")
60
- self.enable_callback = epics_signal_rw_rbv(Callback, prefix + "EnableCallbacks")
61
- self.nd_array_address = epics_signal_rw_rbv(int, prefix + "NDArrayAddress")
62
- self.array_size0 = epics_signal_r(int, prefix + "ArraySize0_RBV")
63
- self.array_size1 = epics_signal_r(int, prefix + "ArraySize1_RBV")
64
- super().__init__(prefix, name)
65
-
66
-
67
- class NDPluginStats(NDPluginBase):
68
- pass
@@ -1,3 +0,0 @@
1
- from .motor import Motor
2
-
3
- __all__ = ["Motor"]
@@ -1,3 +0,0 @@
1
- from ._hdf_writer import PandaHDFWriter
2
-
3
- __all__ = ["PandaHDFWriter"]
@@ -1,84 +0,0 @@
1
- ophyd_async/__init__.py,sha256=v-rRiDOgZ3sQSMQKq0vgUQZvpeOkoHFXissAx6Ktg84,61
2
- ophyd_async/__main__.py,sha256=G-Zcv_G9zK7Nhx6o5L5w-wyhMxdl_WgyMELu8IMFqAE,328
3
- ophyd_async/_version.py,sha256=j90u3VVU4UrJf1fgMUhaZarHK_Do2XGYXr-vZvOFzVo,411
4
- ophyd_async/log.py,sha256=DbMjt0bkfUOLHIinZYt0Q0FHZmCXXi5x8y0uFiEmqoQ,3587
5
- ophyd_async/protocols.py,sha256=EF2W9nfElV-0QNMYrX1zusL1PqDJR3kNsjlalR29j0I,3412
6
- ophyd_async/core/__init__.py,sha256=smUUnG2xf5XJMTk_aGKAPg2ZEZTWhABd-p4qCExipqY,3366
7
- ophyd_async/core/_providers.py,sha256=-HlisysZZcqs6z1yQsWCpof7hQ9QTbg2IYpm4XaErGQ,7454
8
- ophyd_async/core/async_status.py,sha256=9TOgOXIAuH62RDo5t-Y5GdjrJ76d_6TFlBxYv-5_a88,4367
9
- ophyd_async/core/detector.py,sha256=x6zxmDjbh8d6meJc8L2NidxI3Uj5bFPWo_FSaRDDBoM,11271
10
- ophyd_async/core/device.py,sha256=mb-zxxmr5RftdBO8YPDJayP4ovNWEgW4qh2v1UU7ROg,7553
11
- ophyd_async/core/device_save_loader.py,sha256=EK7FB5oWiLI_s2KZ1BNDQ2AUKVbFLlimMl0vXfsjcgo,8223
12
- ophyd_async/core/flyer.py,sha256=bIjzBkrl8HVAlKgsZ_FF0WL69Qvksyzp9ZWmTLl8Yrw,2304
13
- ophyd_async/core/mock_signal_backend.py,sha256=Ug6jK72wm9vM6EueoUrYgcXtiFzdPUEISRe86LdyYKc,2844
14
- ophyd_async/core/mock_signal_utils.py,sha256=LE8VxNq3jfaTePnHHpZpKCi1vwKi8EIg-g1jfw-Q5bQ,4726
15
- ophyd_async/core/signal.py,sha256=9zRoHLkSHoa451LmABtpzSvymo0GmC3jAQDQDp0kuMU,18531
16
- ophyd_async/core/signal_backend.py,sha256=U9J6jzHXRNIrdtGiZBVxXTRtzeejXiXEEIOGRIQhiS8,2678
17
- ophyd_async/core/soft_signal_backend.py,sha256=96Zk8ly8Qw6_l4RmB7NW95fbFCsRUTXH2H2JtH46_pY,6688
18
- ophyd_async/core/standard_readable.py,sha256=fhq_WAZtLYWrw6DvvrFRYRAPOUP2_IcX4qLucoEEeOg,9049
19
- ophyd_async/core/utils.py,sha256=3oZcXNqAUHX4ZWMBH5gSuK6cFWEhSkZ9GSDYv0pf8jc,5783
20
- ophyd_async/epics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- ophyd_async/epics/_backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- ophyd_async/epics/_backend/_aioca.py,sha256=JwMX_8E1kw8GWlIRhXpJ2BExbZG7Ps2OOQWgdqwzo8c,11433
23
- ophyd_async/epics/_backend/_p4p.py,sha256=RN3skNzG9PKKvIUccqnccVvsfgm4lS1x4g02X5ds00c,15816
24
- ophyd_async/epics/_backend/common.py,sha256=gxI3c0T_Y-TVnAPabzPF0Y5Xo12xSvtpp5ytAfCxwWA,1863
25
- ophyd_async/epics/areadetector/__init__.py,sha256=ViKzx-wUxkRyNR33wfpL11QB97o0J47_KMyI2C_NphI,510
26
- ophyd_async/epics/areadetector/aravis.py,sha256=zRhC0tQTZvBUUcPqJV9EZFJhCL_4ib-O8VcSbPxf9wg,2107
27
- ophyd_async/epics/areadetector/kinetix.py,sha256=lO-vuE_joIklLL2f0isUZCwVyhFcb4HkXqeCa-gD4kQ,1339
28
- ophyd_async/epics/areadetector/pilatus.py,sha256=u-c_imklak1GQObqvQ-ziiS3_GEHP5csPlsVfaM_sDU,2024
29
- ophyd_async/epics/areadetector/single_trigger_det.py,sha256=U92dqhioIfnve3jtCThq9gXBCdEzzqzY4ezk6rZV19g,1182
30
- ophyd_async/epics/areadetector/utils.py,sha256=p66UbVdKRFj6Sm1Qvm23kmlVyBMMqIvXFxA3x17YnSk,2824
31
- ophyd_async/epics/areadetector/vimba.py,sha256=9KkgXJjJJHc0QQ7E4FAt6n7d6-leUAnEgLVzrIoLE6c,1271
32
- ophyd_async/epics/areadetector/controllers/__init__.py,sha256=af58ci7X2z2s_FyUwR3IGQrws8q4TKcBw7vFyIS5FoI,217
33
- ophyd_async/epics/areadetector/controllers/ad_sim_controller.py,sha256=mthZ6WxajMEgUKptq3bnkIctbLhjzTagV66i1auB8cg,1587
34
- ophyd_async/epics/areadetector/controllers/aravis_controller.py,sha256=2C3pGdvzVDBlYsJv4USv-hZ-BpyQUxoZqJTKz0_zPLY,2707
35
- ophyd_async/epics/areadetector/controllers/kinetix_controller.py,sha256=9QmydX85QOXfQL_UX49M9EQ2b2hUZPVzLxgGQn-A9Oc,1611
36
- ophyd_async/epics/areadetector/controllers/pilatus_controller.py,sha256=6AiMz2yBA9xig-BrAIAc9CDxwM4Cjfebc4dd7QRutB0,2740
37
- ophyd_async/epics/areadetector/controllers/vimba_controller.py,sha256=Eh4Hr9rWgq1mKvE93JzgixntjPHxF3_07GTFqiOdZqE,2123
38
- ophyd_async/epics/areadetector/drivers/__init__.py,sha256=X-KdXw7YWNXpaUCXby2Spqvho2x2n72OavR-3mRlxzk,605
39
- ophyd_async/epics/areadetector/drivers/ad_base.py,sha256=AB1exQsxL_207Uz88GapYqkWblODqTumaaW2CPLYLV4,4583
40
- ophyd_async/epics/areadetector/drivers/aravis_driver.py,sha256=K1if0Nv1ZNEvcOha6NVYA9t9VqsBNxKCmbajlysGF2Q,1491
41
- ophyd_async/epics/areadetector/drivers/kinetix_driver.py,sha256=yIV23BkGBJ4i0VskLiLL7AFbadCCR6Ch1UwUDJ9r2YM,743
42
- ophyd_async/epics/areadetector/drivers/pilatus_driver.py,sha256=0DBBuiR_FtwzVVdDW0ifdSrdKZtnprWuy87g66o8RlQ,619
43
- ophyd_async/epics/areadetector/drivers/vimba_driver.py,sha256=J54VtWkOklfbSqZYxGWH1e6Uzm9_Gph_ZbCf9Zax0LU,1713
44
- ophyd_async/epics/areadetector/writers/__init__.py,sha256=bzUzlEYa3eIKWnT-uVXPiRDdxH1OAzCJCRLJJBF37QA,225
45
- ophyd_async/epics/areadetector/writers/general_hdffile.py,sha256=aFS_qXC99cUVWPPxgeqgxeF89IinJhtNVQIZ3C5K-C4,2608
46
- ophyd_async/epics/areadetector/writers/hdf_writer.py,sha256=GzvaXSzRSLjGktGh4ihfkB1Vpv69g8PCMN0h1RqSv08,5940
47
- ophyd_async/epics/areadetector/writers/nd_file_hdf.py,sha256=fMj_rGV5PX4VlayGzWvyEkFIPM2Mj9w5MEADA3yxSrw,1983
48
- ophyd_async/epics/areadetector/writers/nd_plugin.py,sha256=OR2-UFypfBW-lLTrVD1_FFbWK-tl863cOxCrH06x7FA,2393
49
- ophyd_async/epics/demo/__init__.py,sha256=ZcuZ66aIQ58WSydLOSKnk-h_W-aWjhDRZkWQA6f3sig,5790
50
- ophyd_async/epics/demo/demo_ad_sim_detector.py,sha256=x7aD2shaHBvYHP_PTSutXi9Yep8lvOMqeNHxMT7ZGY0,924
51
- ophyd_async/epics/demo/mover.db,sha256=RFz0rxZue689Wh1sWTZwWeFMUrH04ttPq2u5xJH_Fp4,998
52
- ophyd_async/epics/demo/sensor.db,sha256=AVtiydrdtwAz2EFurO2Ult9SSRtre3r0akOBbL98LT0,554
53
- ophyd_async/epics/motion/__init__.py,sha256=tnmVRIwKa9PdN_xonJdAUD04UpEceh-hoD7XI62yDB0,46
54
- ophyd_async/epics/motion/motor.py,sha256=GrlIgyCK45nfVFw7gRccdt4qy8jXWdcbBzcp6MD3OY4,8466
55
- ophyd_async/epics/pvi/__init__.py,sha256=TbOQNY4enQWgtr1T7x129vpo2p7FIFlr8cyZqqv5Lk4,158
56
- ophyd_async/epics/pvi/pvi.py,sha256=Kc3klnA9F82h_p2atFYXe-wFO9OzN5TV69Tc56tD2do,12204
57
- ophyd_async/epics/signal/__init__.py,sha256=JXKBSGpRL9y3auh27JRxsqDn_rBOXpJjtd4nCuDOX2g,261
58
- ophyd_async/epics/signal/_epics_transport.py,sha256=DEIL0iYUAWssysVEgWGu1fHSM1l-ATV2kjUgPtDN9LY,858
59
- ophyd_async/epics/signal/signal.py,sha256=M8ZVG_zLdYJfroCRX-u_w8c3yIhswSRw8e3RkW2szio,3166
60
- ophyd_async/panda/__init__.py,sha256=RjEow4N-rgEPEZdlsDZElUv-VsLGRX3Awoo4Zij_mIQ,1058
61
- ophyd_async/panda/_common_blocks.py,sha256=fl8rGfAAslgN7kIzQhbqQkRXVlWvKT6nqiYEE_30Ono,1601
62
- ophyd_async/panda/_hdf_panda.py,sha256=TU0xa3wLd5zaf_GRBwDFjYirpHAyIRRZ-V8JxHyaLuY,1350
63
- ophyd_async/panda/_panda_controller.py,sha256=dIqcjmaIHVrki8UXSoDx46kk6I2Lhpe2o3sXNg5f-RQ,1238
64
- ophyd_async/panda/_table.py,sha256=atd9wiam0XQH89doqzn0U6J42CFQBKDs9K1_q5GcJR8,6093
65
- ophyd_async/panda/_trigger.py,sha256=6G30e--M9OGV4TFpGmYOSru6sx5q4KpOJrV6aOsvVN4,3069
66
- ophyd_async/panda/_utils.py,sha256=VHW5kPVISyEkmse_qQcyisBkkEwMO6GG2Ago-CH1AFA,487
67
- ophyd_async/panda/writers/__init__.py,sha256=xy7BguVQG4HNIDBfKPjMj0KQo1tptC9LbCpEuMcVGaM,70
68
- ophyd_async/panda/writers/_hdf_writer.py,sha256=D1cdERT_12nTN19p6sDYD7WqYYOGAmEhJsKArNFH46g,5138
69
- ophyd_async/plan_stubs/__init__.py,sha256=nO9ELG9J7fYwfVTVRWVorz4kffeszYpwk1ROh6Ha--w,405
70
- ophyd_async/plan_stubs/ensure_connected.py,sha256=iTisEupUXrCTFikoPw9cf-BuwO_tvOmFmbkOUlPkF-E,752
71
- ophyd_async/plan_stubs/fly.py,sha256=64bJqfvxrQHBUoJeMFY8qLlkvE_8Gw8YTu3Hek_NiLA,6421
72
- ophyd_async/sim/__init__.py,sha256=ScjH1g7FMo5yPACfJRZE6xGBWCHU4bKDzNQk1tqObnA,366
73
- ophyd_async/sim/pattern_generator.py,sha256=5MOkU6JqizxQPZ4Z6kQswHsqZv-vPhsEeo8lUSvSv4Q,7369
74
- ophyd_async/sim/sim_pattern_detector_control.py,sha256=azkKfPYIAfH8CoCBpkBfqlmOUTTN8GOoCEemRsL0emQ,1808
75
- ophyd_async/sim/sim_pattern_detector_writer.py,sha256=yH__i1rSHAcFc3mXJPXNQElMCyyCHxpsOdTkEad33sM,1333
76
- ophyd_async/sim/sim_pattern_generator.py,sha256=pQbXJ5mJQHypg4MTD2FNRs85OJRV9JksYmjl0r9NSSQ,1366
77
- ophyd_async/sim/demo/__init__.py,sha256=9mxKpslrL89cfSj4g3og8Br3O--pMj3hhWZS-Xu6kyA,56
78
- ophyd_async/sim/demo/sim_motor.py,sha256=a2p5wnHXjF-V5zOFai7jnszk4kbGmrZRnUqBtkOgEfQ,3733
79
- ophyd_async-0.4.0.dist-info/LICENSE,sha256=pU5shZcsvWgz701EbT7yjFZ8rMvZcWgRH54CRt8ld_c,1517
80
- ophyd_async-0.4.0.dist-info/METADATA,sha256=iXknBXp3IJkO7yB9_P4CRNKksn_h0m_dUKCmnFbJcLE,6491
81
- ophyd_async-0.4.0.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
82
- ophyd_async-0.4.0.dist-info/entry_points.txt,sha256=O0YNJTEufO0w9BozXi-JurTy2U1_o0ypeCgJLQ727Jk,58
83
- ophyd_async-0.4.0.dist-info/top_level.txt,sha256=-hjorMsv5Rmjo3qrgqhjpal1N6kW5vMxZO3lD4iEaXs,12
84
- ophyd_async-0.4.0.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes