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.
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/PKG-INFO +1 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/_version.py +1 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_utils.py +0 -14
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_hdf_writer.py +6 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_aioca.py +7 -21
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/_example_ioc.py +0 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/test_records.db +0 -8
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/PKG-INFO +1 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_signals.py +0 -13
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_yaml_save_ca.yaml +0 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_yaml_save_pva.yaml +0 -1
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.codecov.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.copier-answers.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.devcontainer/devcontainer.json +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.git-blame-ignore-revs +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/CONTRIBUTING.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/actions/install_requirements/action.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/dependabot.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/pages/index.html +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/pages/make_switcher.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_check.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_dist.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_docs.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_pypi.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_release.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_test.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/_tox.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/ci.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/workflows/periodic.yml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.gitignore +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.pre-commit-config.yaml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/Dockerfile +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/LICENSE +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/README.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/_api.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/_templates/custom-module-template.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/conf.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/examples/epics_demo.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/examples/foo_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/examples/tango_demo.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0001-record-architecture-decisions.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0002-switched-to-python-copier-template.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0003-ophyd-async-migration.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0004-repository-structure.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0005-respect-black-line-length.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0006-procedural-device-definitions.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0007-subpackage-structure.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0008-signal-types.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0009-procedural-vs-declarative-devices.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/COPYME +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/design-goals.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/event-loop-choice.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/flyscanning.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/genindex.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/choose-interfaces-for-devices.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/compound-devices.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/contribute.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/make-a-simple-device.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/make-a-standard-detector.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/use_set_and_wait_for_other_value.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to/write-tests-for-devices.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/how-to.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/images/ophyd-async-logo.svg +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/images/ophyd-favicon.svg +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/images/set_and_wait_for_other_value.svg +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/index.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/reference.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/tutorials/installation.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/tutorials/using-existing-devices.rst +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/tutorials.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/pyproject.toml +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/setup.cfg +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/__main__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_device.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_device_filler.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_flyer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_hdf_dataset.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_log.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_mock_signal_backend.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_protocol.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_providers.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_readable.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_settings.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_signal.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_signal_backend.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_soft_signal_backend.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_status.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_table.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/core/_yaml_settings.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_logic.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_core_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_jpeg_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_single_trigger.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_tiff_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adcore/_utils.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adsimdetector/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adsimdetector/_sim.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_epics_connector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_epics_device.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_p4p.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_pvi_connector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_signal.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/core/_util.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_eiger.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_eiger_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_eiger_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/eiger/_odin_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/motor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/signal.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/_ioc.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/_mover.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/_sensor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/mover.db +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/sim/sensor.db +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/_utils.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/testing/test_records_pva.db +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/core.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/odin/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_block.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_control.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_hdf_panda.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_table.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_trigger.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/fastcs/panda/_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_ensure_connected.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_fly.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_nd_attributes.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_panda.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_settings.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/plan_stubs/_wait_for_awaitable.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/py.typed +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_generator.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_sim_motor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_base_device.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_signal.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_tango_readable.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/core/_tango_transport.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_counter.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_mover.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_tango/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/tango/sim/_tango/_servers.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/__pytest_assert_rewrite.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_assert.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_mock_signal_utils.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_one_of_everything.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/testing/_wait_for_pending.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/SOURCES.txt +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/dependency_links.txt +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/requires.txt +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async.egg-info/top_level.txt +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/system_tests/epics/eiger/README.md +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/system_tests/epics/eiger/start_iocs_and_run_tests.sh +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/system_tests/epics/eiger/test_eiger_system.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/conftest.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_auto_init_devices.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_device.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_flyer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_log.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_mock_signal_backend.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_observe.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_protocol.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_providers.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_readable.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_signal.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_soft_signal_backend.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_status.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_subset_enum.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_table.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_utils.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/core/test_watchable_async_status.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adandor/test_andor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adaravis/test_aravis.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_drivers.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_scans.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_single_trigger.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adcore/test_writers.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adkinetix/test_kinetix.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adpilatus/test_pilatus.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/adsimdetector/test_sim.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/advimba/test_vimba.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/conftest.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/eiger/test_eiger_controller.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/eiger/test_eiger_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/eiger/test_odin_io.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/pvi/test_pvi.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/signal/test_common.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/sim/test_epics_sim.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/test_areadetector_subclass_naming.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/epics/test_motor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/db/panda.db +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_hdf_panda.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_panda_connect.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_panda_control.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_panda_utils.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_seq_table.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_trigger.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/fastcs/panda/test_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_ensure_connected.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_fly.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_settings.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/plan_stubs/test_setup.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/__init__.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/conftest.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_pattern_generator.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_sim_detector.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_sim_motor.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_sim_writer.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/sim/test_streaming_plan.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/tango/test_base_device.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/tango/test_tango_signals.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/tango/test_tango_transport.py +0 -0
- {ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/tests/test_cli.py +0 -0
- {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.
|
|
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
|
|
@@ -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.
|
|
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
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
RENAMED
|
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
|
|
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
|
|
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
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0003-ophyd-async-migration.rst
RENAMED
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0004-repository-structure.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/docs/explanations/decisions/0007-subpackage-structure.md
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adandor/_andor_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adaravis/_aravis_controller.py
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adkinetix/_kinetix_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/adpilatus/_pilatus_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/epics/advimba/_vimba_controller.py
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
{ophyd_async-0.9.0 → ophyd_async-0.9.0a2}/src/ophyd_async/sim/_pattern_detector/_pattern_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|