Skip to main content

Asynchronous Bluesky hardware abstraction code, compatible with control systems like EPICS and Tango

Project description

CI Coverage PyPI License

ophyd-async

Ophyd-async is a 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.

What Where
Source https://github.com/bluesky/ophyd-async
PyPI pip install ophyd-async
Documentation https://bluesky.github.io/ophyd-async
Releases https://github.com/bluesky/ophyd-async/releases

Both ophyd sync and ophyd-async are typically used with the Bluesky Run Engine for experiment orchestration and data acquisition.

The main differences from ophyd sync are:

  • Asynchronous Signal access, simplifying the parallel control of multiple Signals
  • Support for EPICS PVA and Tango as well as the traditional EPICS CA
  • Better library support for splitting the logic from the hardware interface to avoid complex class heirarchies

It was written with the aim of implementing fly scanning in a generic and extensible way with highly customizable devices like PandABox and the Delta Tau PMAC products. Using async code makes it possible to do the "put 3 PVs in parallel, then get from another PV" logic that is common in fly scanning without the performance and complexity overhead of multiple threads.

Devices from both ophyd sync and ophyd-async can be used in the same RunEngine and even in the same scan. This allows a per-device migration where devices are reimplemented in ophyd-async one by one.

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

Project details


Release history Release notifications | RSS feed

This version

0.17

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ophyd_async-0.17.tar.gz (561.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ophyd_async-0.17-py3-none-any.whl (209.9 kB view details)

Uploaded Python 3

File details

Details for the file ophyd_async-0.17.tar.gz.

File metadata

  • Download URL: ophyd_async-0.17.tar.gz
  • Upload date:
  • Size: 561.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ophyd_async-0.17.tar.gz
Algorithm Hash digest
SHA256 f74a6c9ee86da0f96071f7c94b8ae851d42d4abea97c348439b4a61d92d57236
MD5 f523d5361be2739f9d676357d609c4eb
BLAKE2b-256 8dd2a72b8b4bab2184ceeb1ccc537a67c228e547edf6a6896169e6981022bb67

See more details on using hashes here.

File details

Details for the file ophyd_async-0.17-py3-none-any.whl.

File metadata

  • Download URL: ophyd_async-0.17-py3-none-any.whl
  • Upload date:
  • Size: 209.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ophyd_async-0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 8f4944c348da3086ccfa316b4a68166bdda6a467be5ab6ac51fd13e7f2e91342
MD5 aa1fa7cdbe87fded4044cd930220082e
BLAKE2b-256 97c270990702aa75647b0116a6baff57561d609f944c3b63cc95072030887667

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page