ophyd-async 0.9.0__tar.gz → 0.9.0a2__tar.gz

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 (263) hide show
  1. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/PKG-INFO +1 -1
  2. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/_version.py +1 -1
  3. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_utils.py +0 -14
  4. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_hdf_writer.py +6 -1
  5. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_aioca.py +7 -21
  6. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/_example_ioc.py +0 -1
  7. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/test_records.db +0 -8
  8. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/PKG-INFO +1 -1
  9. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_signals.py +0 -13
  10. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_yaml_save_ca.yaml +0 -1
  11. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_yaml_save_pva.yaml +0 -1
  12. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.codecov.yml +0 -0
  13. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.copier-answers.yml +0 -0
  14. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.devcontainer/devcontainer.json +0 -0
  15. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.git-blame-ignore-revs +0 -0
  16. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/CONTRIBUTING.md +0 -0
  17. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/ISSUE_TEMPLATE/issue.md +0 -0
  19. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  20. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/actions/install_requirements/action.yml +0 -0
  21. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/dependabot.yml +0 -0
  22. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/pages/index.html +0 -0
  23. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/pages/make_switcher.py +0 -0
  24. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_check.yml +0 -0
  25. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_dist.yml +0 -0
  26. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_docs.yml +0 -0
  27. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_pypi.yml +0 -0
  28. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_release.yml +0 -0
  29. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_test.yml +0 -0
  30. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_tox.yml +0 -0
  31. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/ci.yml +0 -0
  32. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/periodic.yml +0 -0
  33. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.gitignore +0 -0
  34. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.pre-commit-config.yaml +0 -0
  35. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/Dockerfile +0 -0
  36. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/LICENSE +0 -0
  37. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/README.md +0 -0
  38. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/_api.rst +0 -0
  39. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/_templates/custom-module-template.rst +0 -0
  40. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/conf.py +0 -0
  41. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/examples/epics_demo.py +0 -0
  42. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/examples/foo_detector.py +0 -0
  43. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/examples/tango_demo.py +0 -0
  44. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
  45. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
  46. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0003-ophyd-async-migration.rst +0 -0
  47. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0004-repository-structure.rst +0 -0
  48. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0005-respect-black-line-length.rst +0 -0
  49. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0006-procedural-device-definitions.rst +0 -0
  50. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0007-subpackage-structure.md +0 -0
  51. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0008-signal-types.md +0 -0
  52. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0009-procedural-vs-declarative-devices.md +0 -0
  53. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/COPYME +0 -0
  54. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions.md +0 -0
  55. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/design-goals.rst +0 -0
  56. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/event-loop-choice.rst +0 -0
  57. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/flyscanning.rst +0 -0
  58. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations.md +0 -0
  59. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/genindex.rst +0 -0
  60. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/choose-interfaces-for-devices.md +0 -0
  61. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/compound-devices.rst +0 -0
  62. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/contribute.md +0 -0
  63. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/make-a-simple-device.rst +0 -0
  64. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/make-a-standard-detector.rst +0 -0
  65. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/use_set_and_wait_for_other_value.md +0 -0
  66. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/write-tests-for-devices.rst +0 -0
  67. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to.md +0 -0
  68. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/images/ophyd-async-logo.svg +0 -0
  69. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/images/ophyd-favicon.svg +0 -0
  70. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/images/set_and_wait_for_other_value.svg +0 -0
  71. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/index.md +0 -0
  72. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/reference.md +0 -0
  73. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/tutorials/installation.md +0 -0
  74. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/tutorials/using-existing-devices.rst +0 -0
  75. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/tutorials.md +0 -0
  76. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/pyproject.toml +0 -0
  77. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/setup.cfg +0 -0
  78. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/__init__.py +0 -0
  79. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/__main__.py +0 -0
  80. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/__init__.py +0 -0
  81. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_detector.py +0 -0
  82. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_device.py +0 -0
  83. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_device_filler.py +0 -0
  84. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_flyer.py +0 -0
  85. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_hdf_dataset.py +0 -0
  86. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_log.py +0 -0
  87. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_mock_signal_backend.py +0 -0
  88. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_protocol.py +0 -0
  89. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_providers.py +0 -0
  90. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_readable.py +0 -0
  91. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_settings.py +0 -0
  92. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_signal.py +0 -0
  93. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_signal_backend.py +0 -0
  94. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_soft_signal_backend.py +0 -0
  95. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_status.py +0 -0
  96. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_table.py +0 -0
  97. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_yaml_settings.py +0 -0
  98. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/__init__.py +0 -0
  99. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/__init__.py +0 -0
  100. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor.py +0 -0
  101. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor_controller.py +0 -0
  102. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor_io.py +0 -0
  103. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/__init__.py +0 -0
  104. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis.py +0 -0
  105. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis_controller.py +0 -0
  106. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis_io.py +0 -0
  107. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/__init__.py +0 -0
  108. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_detector.py +0 -0
  109. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_io.py +0 -0
  110. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_logic.py +0 -0
  111. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_writer.py +0 -0
  112. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_jpeg_writer.py +0 -0
  113. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_single_trigger.py +0 -0
  114. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_tiff_writer.py +0 -0
  115. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_utils.py +0 -0
  116. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/__init__.py +0 -0
  117. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix.py +0 -0
  118. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix_controller.py +0 -0
  119. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix_io.py +0 -0
  120. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/__init__.py +0 -0
  121. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus.py +0 -0
  122. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus_controller.py +0 -0
  123. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus_io.py +0 -0
  124. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adsimdetector/__init__.py +0 -0
  125. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adsimdetector/_sim.py +0 -0
  126. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/__init__.py +0 -0
  127. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba.py +0 -0
  128. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba_controller.py +0 -0
  129. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba_io.py +0 -0
  130. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/__init__.py +0 -0
  131. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_epics_connector.py +0 -0
  132. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_epics_device.py +0 -0
  133. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_p4p.py +0 -0
  134. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_pvi_connector.py +0 -0
  135. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_signal.py +0 -0
  136. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_util.py +0 -0
  137. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/__init__.py +0 -0
  138. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_eiger.py +0 -0
  139. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_eiger_controller.py +0 -0
  140. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_eiger_io.py +0 -0
  141. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_odin_io.py +0 -0
  142. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/motor.py +0 -0
  143. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/signal.py +0 -0
  144. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/__init__.py +0 -0
  145. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/_ioc.py +0 -0
  146. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/_mover.py +0 -0
  147. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/_sensor.py +0 -0
  148. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/mover.db +0 -0
  149. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/sensor.db +0 -0
  150. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/__init__.py +0 -0
  151. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/_utils.py +0 -0
  152. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/test_records_pva.db +0 -0
  153. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/__init__.py +0 -0
  154. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/core.py +0 -0
  155. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/odin/__init__.py +0 -0
  156. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/__init__.py +0 -0
  157. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_block.py +0 -0
  158. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_control.py +0 -0
  159. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_hdf_panda.py +0 -0
  160. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_table.py +0 -0
  161. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_trigger.py +0 -0
  162. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_writer.py +0 -0
  163. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/__init__.py +0 -0
  164. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_ensure_connected.py +0 -0
  165. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_fly.py +0 -0
  166. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_nd_attributes.py +0 -0
  167. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_panda.py +0 -0
  168. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_settings.py +0 -0
  169. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_wait_for_awaitable.py +0 -0
  170. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/py.typed +0 -0
  171. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/__init__.py +0 -0
  172. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/__init__.py +0 -0
  173. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector.py +0 -0
  174. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector_controller.py +0 -0
  175. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector_writer.py +0 -0
  176. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_generator.py +0 -0
  177. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_sim_motor.py +0 -0
  178. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/__init__.py +0 -0
  179. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/__init__.py +0 -0
  180. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_base_device.py +0 -0
  181. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_signal.py +0 -0
  182. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_tango_readable.py +0 -0
  183. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_tango_transport.py +0 -0
  184. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/__init__.py +0 -0
  185. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_counter.py +0 -0
  186. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_detector.py +0 -0
  187. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_mover.py +0 -0
  188. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_tango/__init__.py +0 -0
  189. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_tango/_servers.py +0 -0
  190. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/__init__.py +0 -0
  191. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/__pytest_assert_rewrite.py +0 -0
  192. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_assert.py +0 -0
  193. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_mock_signal_utils.py +0 -0
  194. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_one_of_everything.py +0 -0
  195. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_wait_for_pending.py +0 -0
  196. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/SOURCES.txt +0 -0
  197. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/dependency_links.txt +0 -0
  198. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/requires.txt +0 -0
  199. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/top_level.txt +0 -0
  200. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/system_tests/epics/eiger/README.md +0 -0
  201. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/system_tests/epics/eiger/start_iocs_and_run_tests.sh +0 -0
  202. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/system_tests/epics/eiger/test_eiger_system.py +0 -0
  203. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/conftest.py +0 -0
  204. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_auto_init_devices.py +0 -0
  205. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_detector.py +0 -0
  206. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_device.py +0 -0
  207. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_flyer.py +0 -0
  208. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_log.py +0 -0
  209. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_mock_signal_backend.py +0 -0
  210. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_observe.py +0 -0
  211. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_protocol.py +0 -0
  212. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_providers.py +0 -0
  213. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_readable.py +0 -0
  214. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_signal.py +0 -0
  215. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_soft_signal_backend.py +0 -0
  216. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_status.py +0 -0
  217. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_subset_enum.py +0 -0
  218. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_table.py +0 -0
  219. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_utils.py +0 -0
  220. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_watchable_async_status.py +0 -0
  221. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adandor/test_andor.py +0 -0
  222. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adaravis/test_aravis.py +0 -0
  223. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_drivers.py +0 -0
  224. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_scans.py +0 -0
  225. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_single_trigger.py +0 -0
  226. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_writers.py +0 -0
  227. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adkinetix/test_kinetix.py +0 -0
  228. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adpilatus/test_pilatus.py +0 -0
  229. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adsimdetector/test_sim.py +0 -0
  230. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/advimba/test_vimba.py +0 -0
  231. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/conftest.py +0 -0
  232. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/eiger/test_eiger_controller.py +0 -0
  233. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/eiger/test_eiger_detector.py +0 -0
  234. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/eiger/test_odin_io.py +0 -0
  235. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/pvi/test_pvi.py +0 -0
  236. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_common.py +0 -0
  237. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/sim/test_epics_sim.py +0 -0
  238. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/test_areadetector_subclass_naming.py +0 -0
  239. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/test_motor.py +0 -0
  240. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/db/panda.db +0 -0
  241. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_hdf_panda.py +0 -0
  242. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_panda_connect.py +0 -0
  243. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_panda_control.py +0 -0
  244. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_panda_utils.py +0 -0
  245. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_seq_table.py +0 -0
  246. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_trigger.py +0 -0
  247. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_writer.py +0 -0
  248. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_ensure_connected.py +0 -0
  249. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_fly.py +0 -0
  250. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_settings.py +0 -0
  251. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_setup.py +0 -0
  252. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/__init__.py +0 -0
  253. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/conftest.py +0 -0
  254. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_pattern_generator.py +0 -0
  255. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_sim_detector.py +0 -0
  256. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_sim_motor.py +0 -0
  257. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_sim_writer.py +0 -0
  258. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_streaming_plan.py +0 -0
  259. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/tango/test_base_device.py +0 -0
  260. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/tango/test_tango_signals.py +0 -0
  261. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/tango/test_tango_transport.py +0 -0
  262. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/test_cli.py +0 -0
  263. {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/test_data/test_yaml_save.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ophyd-async
3
- Version: 0.9.0
3
+ Version: 0.9.0a2
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
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.9.0'
15
+ __version__ = version = '0.9.0a2'
16
16
  __version_tuple__ = version_tuple = (0, 9, 0)
@@ -34,20 +34,6 @@ class StrictEnum(str, Enum, metaclass=StrictEnumMeta):
34
34
 
35
35
  class SubsetEnumMeta(StrictEnumMeta):
36
36
  def __call__(self, value, *args, **kwargs): # type: ignore
37
- """
38
- Returns given value if it is a string and not a member of the enum.
39
- If the value is not a string or is an enum member, default enum behavior
40
- is applied. Type checking will complain if provided arbitrary string.
41
-
42
- Returns:
43
- Union[str, SubsetEnum]: If the value is a string and not a member of the
44
- enum, the string is returned as is. Otherwise, the corresponding enum
45
- member is returned.
46
-
47
- Raises:
48
- ValueError: If the value is not a string and cannot be converted to an enum
49
- member.
50
- """
51
37
  if isinstance(value, str) and not isinstance(value, self):
52
38
  return value
53
39
  return super().__call__(value, *args, **kwargs)
@@ -46,7 +46,7 @@ class ADHDFWriter(ADWriter[NDFileHDFIO]):
46
46
  )
47
47
  self._datasets: list[HDFDataset] = []
48
48
  self._file: HDFFile | None = None
49
- self._filename_template = "%s%s"
49
+ self._include_file_number = False
50
50
 
51
51
  async def open(self, multiplier: int = 1) -> dict[str, DataKey]:
52
52
  self._file = None
@@ -63,6 +63,11 @@ class ADHDFWriter(ADWriter[NDFileHDFIO]):
63
63
  self.fileio.xml_file_name.set(""),
64
64
  )
65
65
 
66
+ # By default, don't add file number to filename
67
+ self._filename_template = "%s%s"
68
+ if self._include_file_number:
69
+ self._filename_template += "_%6.6d"
70
+
66
71
  # Set common AD file plugin params, begin capturing
67
72
  await self.begin_capture()
68
73
 
@@ -293,27 +293,13 @@ class CaSignalBackend(EpicsSignalBackend[SignalDatatypeT]):
293
293
  write_value = self.initial_values[self.write_pv]
294
294
  else:
295
295
  write_value = self.converter.write_value(value)
296
- try:
297
- await caput(
298
- self.write_pv,
299
- write_value,
300
- datatype=self.converter.write_dbr,
301
- wait=wait,
302
- timeout=None,
303
- )
304
- except CANothing as exc:
305
- # If we ran into a write error, check to see if there is a list
306
- # of valid choices, and if the value we tried to write is in that list.
307
- valid_choices = self.converter.metadata.get("choices")
308
- if valid_choices:
309
- if value not in valid_choices:
310
- msg = (
311
- f"{value} is not a valid choice for {self.write_pv}, "
312
- f"valid choices: {self.converter.metadata.get('choices')}"
313
- )
314
- raise ValueError(msg) from exc
315
- raise
316
- raise
296
+ await caput(
297
+ self.write_pv,
298
+ write_value,
299
+ datatype=self.converter.write_dbr,
300
+ wait=wait,
301
+ timeout=None,
302
+ )
317
303
 
318
304
  async def get_datakey(self, source: str) -> DataKey:
319
305
  value = await self._caget(self.read_pv, FORMAT_CTRL)
@@ -44,7 +44,6 @@ class EpicsTestCaDevice(EpicsDevice):
44
44
  enum: A[SignalRW[EpicsTestEnum], PvSuffix("enum")]
45
45
  enum2: A[SignalRW[EpicsTestEnum], PvSuffix("enum2")]
46
46
  subset_enum: A[SignalRW[EpicsTestSubsetEnum], PvSuffix("subset_enum")]
47
- enum_str_fallback: A[SignalRW[str], PvSuffix("enum_str_fallback")]
48
47
  bool_unnamed: A[SignalRW[bool], PvSuffix("bool_unnamed")]
49
48
  partialint: A[SignalRW[int], PvSuffix("partialint")]
50
49
  lessint: A[SignalRW[int], PvSuffix("lessint")]
@@ -104,14 +104,6 @@ record(mbbo, "$(device)subset_enum") {
104
104
  field(PINI, "YES")
105
105
  }
106
106
 
107
- record(mbbo, "$(device)enum_str_fallback") {
108
- field(ZRST, "Aaa")
109
- field(ONST, "Bbb")
110
- field(TWST, "Ccc")
111
- field(VAL, "1")
112
- field(PINI, "YES")
113
- }
114
-
115
107
  record(waveform, "$(device)uint8a") {
116
108
  field(NELM, "3")
117
109
  field(FTVL, "UCHAR")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ophyd-async
3
- Version: 0.9.0
3
+ Version: 0.9.0a2
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
@@ -406,19 +406,6 @@ async def test_writing_to_ndarray_raises_typeerror(ioc_devices: EpicsTestIocAndD
406
406
  await signal.set(np.zeros((6,), dtype=np.int64))
407
407
 
408
408
 
409
- async def test_invalid_enum_choice_raises_valueerror(
410
- ioc_devices: EpicsTestIocAndDevices,
411
- ):
412
- signal = ioc_devices.ca_device.enum_str_fallback
413
- await signal.connect()
414
- with pytest.raises(ValueError) as exc:
415
- await signal.set("Ddd")
416
- assert "Ddd is not a valid choice for" in str(exc.value)
417
- assert "ca:enum_str_fallback, valid choices: ['Aaa', 'Bbb', 'Ccc']" in str(
418
- exc.value
419
- )
420
-
421
-
422
409
  @pytest.mark.parametrize("protocol", get_args(Protocol))
423
410
  async def test_error_raised_on_disconnected_PV(
424
411
  ioc_devices: EpicsTestIocAndDevices, protocol: Protocol
@@ -1,7 +1,6 @@
1
1
  bool_unnamed: true
2
2
  enum: Bbb
3
3
  enum2: Bbb
4
- enum_str_fallback: Bbb
5
4
  float32a: [1.9999999949504854e-06, -123.12300109863281]
6
5
  float64a: [0.1, -12345678.123]
7
6
  float_prec_0: 3
@@ -1,7 +1,6 @@
1
1
  bool_unnamed: true
2
2
  enum: Bbb
3
3
  enum2: Bbb
4
- enum_str_fallback: Bbb
5
4
  float32a: [1.9999999949504854e-06, -123.12300109863281]
6
5
  float64a: [0.1, -12345678.123]
7
6
  float_prec_0: 3.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes