gilesknap / ophyd-async

Hardware abstraction for bluesky written using asyncio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ophyd Async

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

Asynchronous device abstraction framework, building on Ophyd.

PyPI pip install ophyd-async
Source code https://github.com/bluesky/ophyd-async
Documentation https://blueskyproject.io/ophyd-async

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.

See https://blueskyproject.io/ophyd-async for more detailed documentation.

About

Hardware abstraction for bluesky written using asyncio

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 99.6%Language:Dockerfile 0.4%