Ophyd Async#

Code CI Docs CI Test Coverage Latest PyPI version BSD 3-Clause License

Asynchronous device abstraction framework, building on Ophyd.


pip install ophyd-async

Source code




Python library for asynchronously interfacing with hardware, intended to be used as an abstraction layer that enables experiment orchestration and data acquisition code to operate above the specifics of particular devices and control systems.

Both ophyd and ophyd-async are typically used with the Bluesky Run Engine for experiment orchestration and data acquisition. However, these libraries are able to be used in a stand-alone fashion. For an example of how a facility defines and uses ophyd-async devices, see dls-dodal, which is currently using a mixture of ophyd and ophyd-async devices.

While EPICS is the most common control system layer that ophyd-async can interface with, other control systems like Tango are used by some facilities also. In addition to the abstractions provided by ophyd, ophyd-async allows:

  • Asynchronous signal access, opening the possibility for hardware-triggered scanning (also known as fly-scanning)

  • Simpler instantiation of devices (groupings of signals) with less reliance upon complex class hierarchies

NOTE: ophyd-async is included on a provisional basis until the v1.0 release.

See the tutorials for usage examples.

How the documentation is structured#

The documentation is split into 2 sections:

The User Guide contains documentation on how to install and use ophyd-async.

The Developer Guide contains documentation on how to develop and contribute changes back to ophyd-async.