.codecov.yml
.copier-answers.yml
.git-blame-ignore-revs
.gitignore
.gitleaks.toml
.gitmodules
.pre-commit-config.yaml
.python-version
Dockerfile
LICENSE
README.md
pyproject.toml
uv.lock
.devcontainer/devcontainer.json
.github/CONTRIBUTING.md
.github/renovate.json
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/issue.md
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
.github/codeql/codeql-config.yml
.github/pages/index.html
.github/pages/make_switcher.py
.github/workflows/_codeql.yml
.github/workflows/_dist.yml
.github/workflows/_docs.yml
.github/workflows/_pypi.yml
.github/workflows/_release.yml
.github/workflows/_test.yml
.github/workflows/_tox.yml
.github/workflows/ci.yml
.github/workflows/periodic.yml
docs/conf.py
docs/explanations.md
docs/genindex.rst
docs/how-to.md
docs/index.md
docs/reference.md
docs/tutorials.md
docs/_static/custom.css
docs/explanations/decisions.md
docs/explanations/declarative-vs-procedural.md
docs/explanations/design-goals.md
docs/explanations/device-connection-strategies.md
docs/explanations/devices-signals-backends.md
docs/explanations/fly-scanning.md
docs/explanations/plan-stubs.md
docs/explanations/when-to-extend-movable.md
docs/explanations/where-device-logic.md
docs/explanations/decisions/0001-record-architecture-decisions.md
docs/explanations/decisions/0002-switched-to-python-copier-template.md
docs/explanations/decisions/0003-ophyd-async-migration.rst
docs/explanations/decisions/0004-repository-structure.rst
docs/explanations/decisions/0005-respect-black-line-length.rst
docs/explanations/decisions/0006-procedural-device-definitions.rst
docs/explanations/decisions/0007-subpackage-structure.md
docs/explanations/decisions/0008-signal-types.md
docs/explanations/decisions/0009-procedural-vs-declarative-devices.md
docs/explanations/decisions/0010-docstring-format.md
docs/explanations/decisions/0011-buffer-updates-camonitor.md
docs/explanations/decisions/COPYME
docs/how-to/choose-right-baseclass.md
docs/how-to/contribute.md
docs/how-to/derive-one-signal-from-others.md
docs/how-to/implement-ad-detector.md
docs/how-to/interact-with-signals.md
docs/how-to/put-device-back.md
docs/how-to/store-and-retrieve.md
docs/images/fly_scan_collection_windows_and_frames.svg
docs/images/ophyd-async-logo.svg
docs/images/ophyd-favicon.svg
docs/images/set_and_wait_for_other_value.excalidraw.svg
docs/tutorials/implementing-detectors.md
docs/tutorials/implementing-devices.md
docs/tutorials/installation.md
docs/tutorials/using-devices.md
docs/tutorials/writing-tests-for-devices.md
src/ophyd_async/__init__.py
src/ophyd_async/__main__.py
src/ophyd_async/_docs_parser.py
src/ophyd_async/_version.py
src/ophyd_async/py.typed
src/ophyd_async.egg-info/PKG-INFO
src/ophyd_async.egg-info/SOURCES.txt
src/ophyd_async.egg-info/dependency_links.txt
src/ophyd_async.egg-info/requires.txt
src/ophyd_async.egg-info/top_level.txt
src/ophyd_async/core/__init__.py
src/ophyd_async/core/_derived_signal.py
src/ophyd_async/core/_derived_signal_backend.py
src/ophyd_async/core/_detector.py
src/ophyd_async/core/_device.py
src/ophyd_async/core/_device_filler.py
src/ophyd_async/core/_enums.py
src/ophyd_async/core/_flyer.py
src/ophyd_async/core/_hdf_dataset.py
src/ophyd_async/core/_log.py
src/ophyd_async/core/_mock_signal_backend.py
src/ophyd_async/core/_protocol.py
src/ophyd_async/core/_providers.py
src/ophyd_async/core/_readable.py
src/ophyd_async/core/_settings.py
src/ophyd_async/core/_signal.py
src/ophyd_async/core/_signal_backend.py
src/ophyd_async/core/_soft_signal_backend.py
src/ophyd_async/core/_status.py
src/ophyd_async/core/_table.py
src/ophyd_async/core/_utils.py
src/ophyd_async/core/_yaml_settings.py
src/ophyd_async/epics/__init__.py
src/ophyd_async/epics/motor.py
src/ophyd_async/epics/signal.py
src/ophyd_async/epics/adandor/__init__.py
src/ophyd_async/epics/adandor/_andor.py
src/ophyd_async/epics/adandor/_andor_controller.py
src/ophyd_async/epics/adandor/_andor_io.py
src/ophyd_async/epics/adaravis/__init__.py
src/ophyd_async/epics/adaravis/_aravis.py
src/ophyd_async/epics/adaravis/_aravis_controller.py
src/ophyd_async/epics/adaravis/_aravis_io.py
src/ophyd_async/epics/adcore/__init__.py
src/ophyd_async/epics/adcore/_core_detector.py
src/ophyd_async/epics/adcore/_core_io.py
src/ophyd_async/epics/adcore/_core_logic.py
src/ophyd_async/epics/adcore/_core_writer.py
src/ophyd_async/epics/adcore/_hdf_writer.py
src/ophyd_async/epics/adcore/_jpeg_writer.py
src/ophyd_async/epics/adcore/_single_trigger.py
src/ophyd_async/epics/adcore/_tiff_writer.py
src/ophyd_async/epics/adcore/_utils.py
src/ophyd_async/epics/adkinetix/__init__.py
src/ophyd_async/epics/adkinetix/_kinetix.py
src/ophyd_async/epics/adkinetix/_kinetix_controller.py
src/ophyd_async/epics/adkinetix/_kinetix_io.py
src/ophyd_async/epics/adpilatus/__init__.py
src/ophyd_async/epics/adpilatus/_pilatus.py
src/ophyd_async/epics/adpilatus/_pilatus_controller.py
src/ophyd_async/epics/adpilatus/_pilatus_io.py
src/ophyd_async/epics/adsimdetector/__init__.py
src/ophyd_async/epics/adsimdetector/_sim.py
src/ophyd_async/epics/adsimdetector/_sim_controller.py
src/ophyd_async/epics/adsimdetector/_sim_io.py
src/ophyd_async/epics/advimba/__init__.py
src/ophyd_async/epics/advimba/_vimba.py
src/ophyd_async/epics/advimba/_vimba_controller.py
src/ophyd_async/epics/advimba/_vimba_io.py
src/ophyd_async/epics/core/__init__.py
src/ophyd_async/epics/core/_aioca.py
src/ophyd_async/epics/core/_epics_connector.py
src/ophyd_async/epics/core/_epics_device.py
src/ophyd_async/epics/core/_p4p.py
src/ophyd_async/epics/core/_pvi_connector.py
src/ophyd_async/epics/core/_signal.py
src/ophyd_async/epics/core/_util.py
src/ophyd_async/epics/demo/__init__.py
src/ophyd_async/epics/demo/__main__.py
src/ophyd_async/epics/demo/_ioc.py
src/ophyd_async/epics/demo/_motor.py
src/ophyd_async/epics/demo/_point_detector.py
src/ophyd_async/epics/demo/_point_detector_channel.py
src/ophyd_async/epics/demo/_stage.py
src/ophyd_async/epics/demo/motor.db
src/ophyd_async/epics/demo/point_detector.db
src/ophyd_async/epics/demo/point_detector_channel.db
src/ophyd_async/epics/odin/__init__.py
src/ophyd_async/epics/odin/_odin_io.py
src/ophyd_async/epics/pmac/__init__.py
src/ophyd_async/epics/pmac/_pmac_io.py
src/ophyd_async/epics/pmac/_pmac_trajectory.py
src/ophyd_async/epics/pmac/_pmac_trajectory_generation.py
src/ophyd_async/epics/pmac/_utils.py
src/ophyd_async/epics/testing/__init__.py
src/ophyd_async/epics/testing/_example_ioc.py
src/ophyd_async/epics/testing/_utils.py
src/ophyd_async/epics/testing/test_records.db
src/ophyd_async/epics/testing/test_records_pva.db
src/ophyd_async/fastcs/__init__.py
src/ophyd_async/fastcs/core.py
src/ophyd_async/fastcs/eiger/__init__.py
src/ophyd_async/fastcs/eiger/_eiger.py
src/ophyd_async/fastcs/eiger/_eiger_controller.py
src/ophyd_async/fastcs/eiger/_eiger_io.py
src/ophyd_async/fastcs/jungfrau/__init__.py
src/ophyd_async/fastcs/jungfrau/_controller.py
src/ophyd_async/fastcs/jungfrau/_jungfrau.py
src/ophyd_async/fastcs/jungfrau/_signals.py
src/ophyd_async/fastcs/jungfrau/_utils.py
src/ophyd_async/fastcs/odin/__init__.py
src/ophyd_async/fastcs/panda/__init__.py
src/ophyd_async/fastcs/panda/_block.py
src/ophyd_async/fastcs/panda/_control.py
src/ophyd_async/fastcs/panda/_hdf_panda.py
src/ophyd_async/fastcs/panda/_table.py
src/ophyd_async/fastcs/panda/_trigger.py
src/ophyd_async/fastcs/panda/_writer.py
src/ophyd_async/plan_stubs/__init__.py
src/ophyd_async/plan_stubs/_ensure_connected.py
src/ophyd_async/plan_stubs/_fly.py
src/ophyd_async/plan_stubs/_nd_attributes.py
src/ophyd_async/plan_stubs/_panda.py
src/ophyd_async/plan_stubs/_settings.py
src/ophyd_async/plan_stubs/_utils.py
src/ophyd_async/plan_stubs/_wait_for_awaitable.py
src/ophyd_async/sim/__init__.py
src/ophyd_async/sim/__main__.py
src/ophyd_async/sim/_blob_detector.py
src/ophyd_async/sim/_blob_detector_controller.py
src/ophyd_async/sim/_blob_detector_writer.py
src/ophyd_async/sim/_mirror_horizontal.py
src/ophyd_async/sim/_mirror_vertical.py
src/ophyd_async/sim/_motor.py
src/ophyd_async/sim/_pattern_generator.py
src/ophyd_async/sim/_point_detector.py
src/ophyd_async/sim/_stage.py
src/ophyd_async/tango/__init__.py
src/ophyd_async/tango/core/__init__.py
src/ophyd_async/tango/core/_base_device.py
src/ophyd_async/tango/core/_converters.py
src/ophyd_async/tango/core/_signal.py
src/ophyd_async/tango/core/_tango_readable.py
src/ophyd_async/tango/core/_tango_transport.py
src/ophyd_async/tango/core/_utils.py
src/ophyd_async/tango/demo/__init__.py
src/ophyd_async/tango/demo/_counter.py
src/ophyd_async/tango/demo/_detector.py
src/ophyd_async/tango/demo/_mover.py
src/ophyd_async/tango/demo/_tango/__init__.py
src/ophyd_async/tango/demo/_tango/_servers.py
src/ophyd_async/tango/testing/__init__.py
src/ophyd_async/tango/testing/_one_of_everything.py
src/ophyd_async/tango/testing/_test_config.py
src/ophyd_async/testing/__init__.py
src/ophyd_async/testing/__pytest_assert_rewrite.py
src/ophyd_async/testing/_assert.py
src/ophyd_async/testing/_mock_signal_utils.py
src/ophyd_async/testing/_one_of_everything.py
src/ophyd_async/testing/_single_derived.py
src/ophyd_async/testing/_utils.py
src/ophyd_async/testing/_wait_for_pending.py
tests/README.md
tests/conftest.py
tests/system_tests/test_tutorials.py
tests/system_tests/epics/adsim/baseline.yaml
tests/system_tests/epics/adsim/start_iocs.sh
tests/system_tests/epics/adsim/stop_iocs.sh
tests/system_tests/epics/adsim/test_adsim_system.py
tests/system_tests/epics/eiger/README.md
tests/system_tests/epics/eiger/start_iocs_and_run_tests.sh
tests/system_tests/epics/eiger/test_eiger_system.py
tests/system_tests/epics/signal/test_signals.py
tests/system_tests/epics/signal/test_yaml_save_ca.yaml
tests/system_tests/epics/signal/test_yaml_save_pva.yaml
tests/system_tests/fastcs/panda/test_panda_connect.py
tests/system_tests/tango/conftest.py
tests/system_tests/tango/context_subprocess.py
tests/system_tests/tango/test_base_device.py
tests/system_tests/tango/test_tango_signals.py
tests/system_tests/tango/test_tango_transport.py
tests/unit_tests/test_branching.py
tests/unit_tests/test_cli.py
tests/unit_tests/core/test_auto_init_devices.py
tests/unit_tests/core/test_detector.py
tests/unit_tests/core/test_device.py
tests/unit_tests/core/test_flyer.py
tests/unit_tests/core/test_log.py
tests/unit_tests/core/test_mock_signal_backend.py
tests/unit_tests/core/test_multi_derived_signal.py
tests/unit_tests/core/test_observe.py
tests/unit_tests/core/test_protocol.py
tests/unit_tests/core/test_providers.py
tests/unit_tests/core/test_readable.py
tests/unit_tests/core/test_signal.py
tests/unit_tests/core/test_single_derived_signal.py
tests/unit_tests/core/test_soft_signal_backend.py
tests/unit_tests/core/test_status.py
tests/unit_tests/core/test_subset_enum.py
tests/unit_tests/core/test_table.py
tests/unit_tests/core/test_utils.py
tests/unit_tests/core/test_watchable_async_status.py
tests/unit_tests/epics/conftest.py
tests/unit_tests/epics/test_areadetector_subclass_naming.py
tests/unit_tests/epics/test_motor.py
tests/unit_tests/epics/adandor/test_andor.py
tests/unit_tests/epics/adaravis/test_aravis.py
tests/unit_tests/epics/adcore/test_cont_acq_detector.py
tests/unit_tests/epics/adcore/test_detectors.py
tests/unit_tests/epics/adcore/test_drivers.py
tests/unit_tests/epics/adcore/test_plugins.py
tests/unit_tests/epics/adcore/test_scans.py
tests/unit_tests/epics/adcore/test_single_trigger.py
tests/unit_tests/epics/adcore/test_writers.py
tests/unit_tests/epics/adkinetix/test_kinetix.py
tests/unit_tests/epics/adpilatus/test_pilatus.py
tests/unit_tests/epics/adsimdetector/test_sim.py
tests/unit_tests/epics/advimba/test_vimba.py
tests/unit_tests/epics/demo/test_epics_demo.py
tests/unit_tests/epics/eiger/test_odin_io.py
tests/unit_tests/epics/pmac/conftest.py
tests/unit_tests/epics/pmac/test_pmac_io.py
tests/unit_tests/epics/pmac/test_pmac_trajectory.py
tests/unit_tests/epics/pmac/test_pmac_trajectory_generation.py
tests/unit_tests/epics/pmac/test_pmac_utils.py
tests/unit_tests/epics/pvi/test_pvi.py
tests/unit_tests/epics/signal/test_common.py
tests/unit_tests/fastcs/eiger/test_eiger_controller.py
tests/unit_tests/fastcs/eiger/test_eiger_detector.py
tests/unit_tests/fastcs/jungfrau/__init__.py
tests/unit_tests/fastcs/jungfrau/test_controller.py
tests/unit_tests/fastcs/jungfrau/test_utils.py
tests/unit_tests/fastcs/panda/test_hdf_panda.py
tests/unit_tests/fastcs/panda/test_panda_connect_mock.py
tests/unit_tests/fastcs/panda/test_panda_control.py
tests/unit_tests/fastcs/panda/test_panda_utils.py
tests/unit_tests/fastcs/panda/test_seq_table.py
tests/unit_tests/fastcs/panda/test_trigger.py
tests/unit_tests/fastcs/panda/test_writer.py
tests/unit_tests/fastcs/panda/db/panda.db
tests/unit_tests/plan_stubs/test_ensure_connected.py
tests/unit_tests/plan_stubs/test_fly.py
tests/unit_tests/plan_stubs/test_settings.py
tests/unit_tests/plan_stubs/test_setup.py
tests/unit_tests/sim/__init__.py
tests/unit_tests/sim/test_sim_blob_detector.py
tests/unit_tests/sim/test_sim_motor.py
tests/unit_tests/test_data/test_yaml_config_save.yaml
tests/unit_tests/test_data/test_yaml_save.yaml